Подготовка к собеседованию на C/C++ Developer
Менторы
Специалисты своей области, которые смогут помочь вам
Middle .Net Developer
Senior Product Manager
Middle Python Developer
Ведущий программист
Backend Software Engineer (PHP)
Senior .NET/C# developer
Middle DevOps Engineer | Tbilisi, Georgia
Middle C# .NET
Senior PHP-разработчик
Middle python developer
Каналы
Полезные Telegram каналы и чаты
Транскрипция видео:
привет сегодня у нас много интервью у смотри мы с тобой порешаем несколько задачек по си плюс плюс и потом немного по пишем кодом но в процессе будут задавать несколько теоретических вопросов то есть примерно формат у нас сегодня будет такой нормально как тебя отлично ok хорошо тогда предлагаю сразу начать начнем с первой задачки сейчас и из кино вот такая задачка давай посмотрим что ты здесь видишь возможно потенциально какие то проблемы то здесь видишь социально когда исключение в конструкторе
00:00:00 - 00:01:14
потом обязательно делаю офис кидаем стучите в конструкторе если это делаем перед если нет то соответственно получается я и числе не помним ротой мэр расследуется как следует пойдет на попадет туда дам [музыка] 0 начнем поэтапно рассуждать как работает new а уделяет asos мысли что он выделяет память кидает exception-ы память не дарятся 1 жаром делает это грубо говоря вызывает налог то есть он выделяет память еще что делает отзывает конструктор соответственно дата рожд они это конструктор да да то есть мы
00:00:47 - 00:02:24
получается просто не выбираем память которую выделили у нас будет получается не будет или будет but da nah то есть new он предоставляет строгой гарантий безопасности исключения что-нибудь знаешь про гарантий безопасности исключений общих счетам базовая строгая там гарантии отсутствие исключения сможешь рассказать означает что excel функция бросали гарантируются исключения другие гарантии исключения базовая эту поломку государства вблизи накида и толики этого трицепс обычные вещи вроде ньютона так
00:01:43 - 00:03:09
далее а третье русский вопрос кидают исключение не совсем позже janty и исключения говорит то что если полетела исключение а не будет никаких утечек ресурсов и объект останется в согласованном состоянии но вот запоем а вот строгой гарантия безопасности исключения она подразумевает собой такое слово как транзакционных знаю что такое транзакционных на через нужно тратиться даша да и соответственно new предоставляет и на такую гарантию то есть если мы выделили памяти и в конструктор наш зафейлился за фрица он
00:02:44 - 00:03:49
может только в том случае когда наш полетела исключения то произойдет освобождение это память значит не будет . да хорошо давай тогда дальше порассуждаем здесь смотри ты сказал что здесь выбрасывается исключение из конструктора так это вообще без проекте с бет проекте то есть нормально не нормально так как считаешь ну как работают проекте которые запрещены из ключей достаточно так сказать это разный стиль люди которые пользуются притом не пользуется включать пользуемся исключения представим что вот ты пришел
00:03:17 - 00:04:33
проекты и здесь грубо говоря пользоваться исключениями но тесно и стал мост проблем вектор будет объект время гарантировать мы забрать хотя нет я понимаю ну понятно низко завтра копирования из обычного конструктор ну в принципе это допустимо ну уж к эш такого не делаешь избегать вектор еще момент relocate будет перемещать объекты только если у нас перемещающие конструкторы помечены как мышцы пони копирующим но здесь патрик одним выбросили исключение сходя вы видимо из дефолтного о чем стоит помнить
00:03:55 - 00:05:18
и вообще из любого конструктора о чем следует помнить следует помнить о том что писем на там выделили какие-то ресурсы до соответственно без исключений трос соответственно мы должны создать для них должно тоже стас работать все прогну то есть нужно правильно обработать стих 8 здесь new например напишет да ты должен делиться сделать перейти да ну то есть если правильно определять их соответственно вы всяких разных показателей то есть деструктор просто объекта не будет выслан смысле в конце 60 хорошо а если
00:04:37 - 00:05:54
броши исключение из деструктора этапом запрещен доступ к хотя давай порассуждаем до что именно запрещено почему запрещено и так далее сейчас могу вообще перехватить здесь допустим вот у меня вызвал по моему он просто не скупитесь компилируется нет возможно что или даже скомпилирует 100 там будет какая-то получаса я точно помнишь доктора неявно компилятор помещает цветной акцепт даже захватили основанный акцепт нарежем барин accent означает что функция ключей а если бросить исключение вы если просят быть попытку
00:05:18 - 00:06:47
вот это точно не помню там то ли они соответственно не произойдут эти исключения там будет какой-то термин хорошо и сразу да а смотри это грубо говоря на except у нас спецификатор а знаешь но xf оператор как он себя ведет и что это такое нет без исключить да но и давай тогда последняя если все такие вот так напишу то есть как бы переопределил то что он говорит компилятор что нельзя бросать исключение скажу компилятор можно бросать исключение киеве делитесь проблемы или если здесь вообще какие проблемы
00:06:04 - 00:07:18
выполнить эту но здесь я фолз написал чего ok то есть я как бы на except снял с этой вес деструкторы сейчас поработать за рулем а в том чтобы с тестом можем видеть давай скажем давай порассуждаем а зачем вообще компилятор помещает деструктор except скорее всего есть какой-то кейс да почему то помечает длины и всех соответственно от класса служил ну да был exception ты не сможешь привести пример когда у нас может полететь повторно исключение то есть когда мы выбрасываем исключение с какой-то функция у нас у этой функции
00:06:47 - 00:08:07
есть какие-то объекты на стенке и потом когда мы и те чем это исключением наши начинается стеком landing один rolling по-разному этой теме называются начинается вызывается деструктор автоматических объектов пенни за одну одну должен какой должны поймать термина ящик терминами были только фильм 2d в общем да тебе хорошо окей с этой парочкой разобрались тогда тоже по исключению разобрались давай тогда пойдем дальше выводим контейнером да да смотри есть меня такой год у меня есть структурка дата и вот кейс я хочу ее
00:07:40 - 00:08:50
использовать в качестве ключа в сет его народу рецепт из можешь написать необходимы так сказать я не знаю даже как это лучше сказать чтобы тебе подсказать not что нужно чем нужно дополнить структур куда то чтобы для сета должна потерять оператор меньше а соответственно для она драться-то она должна потерять оператор сравнения и класс хэш который соответственно операторы скобкой котору вернет хэша твой объект что подать попал налоги smeb все окей хорошо хорошо ладно тогда хорошо писать не будем давать тогда порассуждаем sct народа
00:08:17 - 00:09:44
рецепт в чем разница разница в том что все построим теперь деревьях сама матрица построен hpp восточно хэшировать не объекта одно стараться там естественно там объекты упорядоченным и их порядок может меняться например жим смерти компилятор an art of may павел соответственно строго упорядоченно пищи нужно вот эти вот поиск и добавление а вот эти среднем константа самый сложный случай может быть вот такой луч но хорошо да сейчас просто хотел уточнить вот именно расположение элементов а надо это не зависит от
00:09:03 - 00:10:56
компилятором скорее зависит от того как фанат надо teka реализована и вот я имею ввиду что он меняется не гарантирована дано от версии к версии да и хотелось чего-то touch нить получается сложность поиска у нас как сказал бинарных деревьев поиска логарифмическое правильно всегда ли или может быть такой что-нибудь для то в худшем случае то опять же средний dots лучшем случае родного т.д. мой взгляд идут должен привести тот худший случай когда он может возникнуть я честно говоря не помню какие то ну вот
00:10:01 - 00:11:09
если возьмем просто обычное дерево да ни зверь ни взвешенное дерево не я просто не так давно красно черных деревьев реализм смот если вы просто делимся представим и вот у нее есть левые и правые соответственно редко и вот есть и все соответственно с правую ветку ходят да это самый худший случай для поиск но он соответственно так не работает и перераспределяет когда поэтому там сложность добавления тоже есть разные деревья то есть те которые например наиболее быстро на добавление есть наиболее быстрой на поиск поэтому
00:10:34 - 00:11:49
зависимости от реализации ну и суда авто библиотеки по моему красно-черные дерева достаточно четко не говорится то есть как а именно какую именно он говорит балансировки используется чаще всего давим на красно-черной деревню хорошо да то есть это у нас логарифм езде давай еще раз пара на 3цет вот поиск ты сказал единиц правильно прерываешься я говорю an ordered поговорили что в сет у нас сложность логарифмическая вставка и удаление и поиск правильно да хорошо и вот on orders c тогда ты сказал что поиск константа равна средней
00:11:12 - 00:12:25
константа сауну с лучшем случае от n1 этот может быть самый худший случай но когда у них и 6 белых искусством случаев мертвых и шаг для всех тел потому что да вот когда ешь промах начиная зонах кладет какой-то свой контейнер арт отдельный контейнер и уже по нему еще с какой-то контейнер по стандартам да ну то есть смотрите получается пичкали сюда когда для разных врачей у нас получается одно и тоже и значения правильно я так сказал колись если дивизий преподы как она коллизии хэш к лизе происходит соответственно on orders
00:11:48 - 00:12:59
цвет пойдет их уже какой-то отдельный контейнер то есть элементы с одинаковым коллизии и каким-то образом потом по ним уже ищет для этого ты нужен оператор равна ровно то что потом правда равно мы ходили туда регулярно супер супер смотри а она то есть стандартными отеки у нас на основе багетов на этом грубо списках этой коллизии резолвится знаешь какие-нибудь алгоритм как можно с деревьев положить можно там ну там если можно тереть дерево не список а дерево положить нужна свобода тоже все равно бы это как
00:12:24 - 00:13:39
я не знаю смысл верит в этом но возможно даришь там потом если у нас прям очень много к лизе будет вот но не на основе bucket of какие другие алгоритмы знаешь открыт адресация там добыл решетку по хэш не слышал заниматься окей окей хорошо так ну давай тогда раз начали про контейнер еще пообсуждаем некоторый контент вот приоритеты и стандартам лететь этого контейнера да чё там под капотом как он работает вот такой получились приоритет соответственно все элементы взвешенные и соответственно по котам отдела по снипам какие там
00:13:01 - 00:14:28
какие-то методы там поп или пушилин сердце потом добавляем элемент соответственно мы добавляем элементы он переупорядочить но чем мы добавляем элемент у неё есть некий вес примерно ментов да и соответственно когда мы хотим сделать пусть мы получаем или бинт соответственно и меньше или наибольший из тех кто стал хранятся сложность добавление [музыка] должно получиться поговорим потом какой контейнер там используется в приоритете скоро там обычно носит доносить но именно какой-то день или воплощается
00:13:47 - 00:15:16
себе подразумевает куча знакомых таким когда структуры данных она просто так называется но это же вы тоже кроме того что там еще реализация push & pull да да и вот какая симпатичная сложность работы с кучей но вот если туда добавить n элементов и прочитать или элементов то получится н логин высокая помнили lg квадранте что-то такую ставку логарифмическая из-за того что нам прихода ставка а с на удалении соответственно видимо удаление смысле дима н тоже логарифм на то есть там приставки и при удалении
00:14:38 - 00:15:56
приходится так называемая выполнять операцию себе фай то есть просеивать кучу ну понятно да я написал ее когда я просто сижу думаю вот если я добавил n элементов по тесту посчитан укромная поэтому into the плн волн в квадрате соответственно будет do do do in lugansk квадрате будет 300 полные сортировку нами на n добавление logo in добавление и вагон поп взять верхний элемент ладно давайте поговорим о векторе листья ща чем разница разница в том что лист на любое добавление нового элемента создает делаю
00:15:19 - 00:16:40
этого элемента на удалении делает вектор соответственно он себе резервирует память если памяти хватает он тест на выделяют уже выделенной памяти если мы но какой-то момент а может произвести весь память не хватает вот соответственно выделяет новую весь век то соответственно могут туда либо копи сделать что еще вист можем добавлять с началом в конец вектор мы можем добавлять эффективно добавлять в конец давай полторы такие вот задачки я смотрю а вот ставка точнее удаления и сначала какая вектора то вообще нету метода
00:16:02 - 00:17:41
понятно что он должен будет сдвинуть свою будет ну потому что должен скопировать весь вектору аллергия недостаточно логин или н.н. отлично отлично а удаление из конца в конце концов хорошо а я вот допустим хочу ударить какой-то элемент будь то это в начале в середине за константу и меня не важен порядок векторе как я могу это делать вы хотите удалить элемент вектора важно сохранить порядок или нет порядок не важен а то есть я хочу удалить или сначала середине так stand up но есть операция рейс она делает много
00:16:56 - 00:18:19
другое на перемещает его в конец совершая а ну соответственно начальные элементы конечные элементы соответственно удалить конечному павич надо то есть просто свой спам если порядок не нужна ну просто с последним и удаляемся он тут там мессир если самолет есть еще с на 3 библиотеки такая функция x art series и я могу принципе отсортировать при помощи и и вектор с погулять сортировать лист при помощи сорта это будет не очень производить конечно говорит используется внутри сорта сад используется как у собст но быстро затем
00:17:50 - 00:19:19
как быстро сортировка работ и там же нам нужен аренда макс с оператор то есть мы должны принять прелести он просто но просто будет соответственно а не там . все верно отлично вот еще тогда такой вопрос наверное уже пред завершающие есть стек и кью что-то под капотом внутри на каком они и контейнеры устроена они могут устроен совершенно разным контейнер я часто говорю не помню никаких там они сделаны государству библиотеки они могут быть на листе и они могут векторы и тамара сошел на разных там структурах если они должны
00:18:38 - 00:19:58
использоваться для всяк параллельными истории да ну там там на самом деле дополнительные шаблоны аргумент можно передать явно задать какой-то контейнер но так и не по дефолту на деке что такое тогда как это колода такая структуру в которую если штыки реализована и взятие 1 дек это элемент у которого за константное время можно добавить колец и иначе здесь конца надеть сначала это опять же как он реализован это так это опять же разные по разному она может быть асадов таблицы конкретным образом реализован там на
00:19:29 - 00:20:50
низких т-рах там так далее опять же можно сделать списком ее можно сделать там вектор окей хорошо хорошо и давать до последнего просмотри я хочу в она рада рецепт ну то есть представим такую ситуацию что у меня там они за нее есть котировки каких-то цен акций дам мире котировки цены не знаю там валют то есть просто ценишь это грубо говоря там 100 рублей 50 копеек или там 200 рублей 30 копеек понятно да я хочу хранить это в виде флота по на радаре цвет или в an ordered map это ок или ног в качестве
00:20:10 - 00:21:33
это не о качестве туча потому что наверное мы подразумеваем что когда мы хотим найти в качестве ключа на похожую цену дома верны мы имеем в виду не побитовое сравнение что ровно разных до с точностью до бита наверное мы имеем в виду что они плюс-минус погрешность посылку все операции с фул такую погрешность поэтому она процесс не найдет дальше найдет они строго равны источники добит рассматривать как бы допустим проверял байки в лента двух слотов допустим у тебя есть минус b окей хорошо а тогда на вот если все-таки
00:20:51 - 00:22:15
хочется нам хранить и цены внутри ключа какие можно придумать решения этой проблемы на то что во флот не хранить какие альтернативы можно придумать можно конечно писать так чтобы а хэш у какой-то хитрый штат или просто встать и хранить эти хранить тоже удобно что нельзя ничего или kq или бокового народ этих номер и сайте потому что ну если нам порядок нужен зачем будем дополнительно расходы платить за логарифмический поиска нам каким за константу это сделать зубах и штат придумать таким образом чтобы до
00:21:35 - 00:22:48
христова придуманного нам же еще нужно оператор равенства . именно для устройстве что сказал а хотят придумать что-то неправильно понята хочешь написать свой структурка которая будет называться как править грубо говоря да а ну куда записать когда еще про дорог структуре еще какой-нибудь кейс можешь провести как можно хранить int и и я хочу допустим сохранять те же денежные кило менты то есть хочу хранить и рублей копейки или там доллара и цента до но хочу хранить их агентов а то же время сохранять их денежные
00:22:12 - 00:23:29
целую через сотрудничать внутри может быть ну то есть при записи мы можем умножить на 100 а при допустим получение мы можем просто делить на 100 и внутри нас будут храниться entry ты тоже такой кейс который можно вполне себе ну пока тонкая задач да хорошо окей с контейнером принципе разобрались как надо бы . я бы не хотел бы глупо . просто потому что мы используем достаточно свой фреймворк многопоточной кэш могу попробуем просто я не совсем помню там этот синтаксис смесь не нужен простая задачка то есть
00:22:55 - 00:24:15
писать номер давай задачку я паскаль мы просто использовать свой дневник стр свой фреймворк где там какие-то свои макросы действом из параллели такой большой рейтинг я предлагаю новость - два потока не читает исполнении джо энн был я не помнишь что такое он видимо это возможно для ожидания ставить join ждать этот поток узнавать посмотрим что там комп r1 что в общем-то то есть я-то что что заданным и я сейчас просто попробуй описать этот кейсом у меня есть main то мы сравниваем соответственно мы сравним стенда то-1 и
00:23:35 - 00:25:09
то-2 этических rizups до цикле просто сравним 100 раз в одном ничего что мы там с двух разных поток пишу не вижу там результата что вообще автоматической магической передано [музыка] оператор сравнения даст с на кварце тесно проблема может быть в операторе сравнении со 100 каждый поток вызывается оператор сравнение для него сделать art cars здесь получать у каждой структур ки есть компьютер то счетчик сколько раз к структурка была сорвана вот и я да и я пропадаю да да говорю компе а к утру каждой структур ты есть и я для каждой
00:24:31 - 00:26:10
структур кита есть хотел бы вот здесь беру две ложки на левую структурка на правой структурка и потом он комментирует а счетчик и потом сравниваешь и все ли здесь огс с точки зрения только безопасности мы используем ютк здесь может где-то используем винкс от кладем его в агар то есть в этот момент происходит wog потом здесь вот происходит когда мы очень 2 того чем тут как бы тут может быть тут хорошо готов может быть потому что ответ один можно забыть левый другой можно запустить проводит подойдет
00:25:27 - 00:26:38
к праву да да да то есть когда был очень до мьютекс а всегда должна загореться лампочка что вы возможно потенциальный белок как можно и сбежались как можно избежать но если мы представим что это дата больше задираться с нескольких потоков с одного из другого что если это дата будет использоваться с одного из другого и на для каждой даты нам же нужно атомарная грубо говоря увеличит туда можно это о томики использовать без проблем нет а почему мы не минутами к это правильный путь общему один вид нужен нам потому что эта дата и
00:26:11 - 00:27:14
опять-таки году она может в разных потоках сравниваться и инкремент это не атомарный операций инкремент по сути собой там три операции подразумевает для того чтобы нам сделать онкомед нам нужно делать лот операция загрузить значение а боевые права и даты и а помнят а потому что левый пропадает что можно сделать например сделать статическими канала если на столе у нас вектор этих дат там миллион этих дат и получается все будут ждать или мьютекс соответственно левой травы здесь можно придумать простые идеи
00:26:52 - 00:28:14
собрав игры выпуск используемся эту историю реально но это просто именно не то что на используя тесла бардема не смотрел я понимаю я просто я просто пытаюсь взлом юницы вот и брайан сказал что есть левой захватит правый то есть если мы будем хочется авто гарантированно правильном порядке то на все будет работать хорошо то есть я просто поменялся дату и дата 2 местами вот понятно ну окей да мы просто да но если допустим представьте что все таки я хочу сравнивать в разном порядке как мне тогда пофиксить это мне нужен такой
00:27:50 - 00:29:04
механизм который будет а там арно как было чуть 2 мьютекс а всего горстка раскопок британского плов которые при помощи которых можно замочить сколько минуток софта для блока на так хочется а может просто что один [музыка] поток не вернуться скушал считается вообще это переводится взаимо шакирова именно наверное два подобных один можно на одном допустим если два раза вызова нее лоб что произойдет вы залог еще раз залог [музыка] если помните , это был бы а если я хочу все-таки так живут тебя вызывать
00:28:28 - 00:30:05
несколько раз лак лак вам на одном микс тоже можно но и если на одном youtube считал бы если просто кидаю таксимо два раза вызовем лог этого б чтобы можно было несколько раз вызывать есть такой с рекурсивными оксане стандартный aspen лот знаешь что такое такой чуть более сложны юбках [музыка] когда поток 1 таб 2 по 4 pax но это прибавляет механизация потоков которые просто использует атомарный какой-то переменной в цикле постоянно крутится пока не наступит какой-то события то есть ложками как бы с активным ожиданием спин
00:29:37 - 00:31:19
мог вот руки знакомс конечно верю был что такого нет то наркотики или семафорами опоры the beauty который может стоит 12 спросить ну хорошо ладно тогда многопоточность пропустим и я предлагаю тогда код пописать да понимаю я предлагаю написать вектор но писать его не весь а вот только очень интересно операции начать спуск бкп пкм place bk шаблон да да да ну вот я вы именно предлагаем описать как то сейчас и что хочу это стандартный просто и стандартная реализация уже сейчас вижу одна определенная проблема это я прямо
00:30:40 - 00:32:40
из количество элементов состав мы будем этот резерв делать пока не будет нет ново в любом случае нам capacity нужно мы же должны понимать какой размер у нас буфера чтобы релокации потом произвести что мы хотим успеть до начнем с просьбой когда толпа возвращаясь из какого не помню что что он товарищи были бы твой да пусть будет не перегружая не будем вязать перегрузку не будем делать не для льва или они горели просто будем принимать по значению тип то этот кстати опечаточка тип d забыли написать здесь просто будем поздно ты
00:32:39 - 00:34:01
сейчас домой кабеля данном нам это в общем не важно придумал соответственно должны она конструктор написать по логике вещей до в конструкторе мы естественно [музыка] можно так можно [музыка] соответственно выбираем до лучших времен так уж если если [музыка] соответственно соответственно пишет она пишет но например сам факт элемент выделяетесь и вот уж хотя бы прервать на секундочку то есть представим что у меня есть функция main вот и у меня есть некоторая структура дата дата и вот в этой структур key data нет
00:34:07 - 00:36:12
дефолтного конструктора но зато есть какой-то конструктор который принимает and trailer какая то здесь есть реализация и я стандарту или отёки мы можем использовать вектор точнее с вектором тип данных у которой у меня дефолтного конструктор я хотел бы точно также использовать это с нашим вектором вот здесь явно проблема будет вот этот низ компилируется там по моему поезд не используется уделяется типа союзов там обычный там обычная памяти а потом что-то в стиле то пусть будет байт можно не байт
00:36:26 - 00:37:56
размера сколько союз с т ну на 10 на 10 на быть будет а но и тогда вот здесь то же нам же нужен тогда указателя указать окей продолжаем так соответственно сайт становится [музыка] они могли сделать ну да [музыка] понятно но тут не совсем так как это количество элементов которой мы сейчас храни внутри вектор a capacity это размер буфера под элементы то есть says у нас нет никаких элементов и которые нас вектор абсолютно пустой потому что мы их не инициализируем магический за сайт должен быть нулем то
00:37:45 - 00:39:28
есть но это вообще можно ударить и из capacity есть бага нам capacity это не размер буфера в байтах от opacity это размер буфера который может хранить допустим а я же фанк пишу ешь да но я просто игры мы постепенно пишем в том-то и дело заключается вот напишем и я сразу подражают о еде есть какие то проблемы не спрашивают да нет ну просто игры стандартно реализации указать можно так сами зайченко поможем вот так можно подписать можем так сказать удобнее вот она вот тогда то есть если мы используем сосиска пастью будет
00:39:17 - 00:40:37
удобнее использовать так так что пусть бог соответственно я должен сделать [музыка] оператор дело круглые скобочки круглые скобочки адрес когда и потом да [музыка] [музыка] ну да сайт скобочки а тогда у нас получается узбек то он не обязан принимать этот элемент или и обязан об копируем да мы сказали просто по значению то есть пока ты по копированию есть да ну пусть будет так хорошо круглые скобочки а уж так верили данда но есть определенная карма до касается копирования да да копирование все верно есть вот вот так вот так это
00:40:02 - 00:41:52
пишется продан за да да и так мы кареев на вызвали конструктор копирования все верно так вы вызвали конструктор копируем ну пока не будет до ограничимся конструктором копируем щелки мы не будем говорю перегрузка протеста сайт сайт actionpay здесь могут быть эксепшен новой кистью ну то есть мы рассмотрим везде могут быть исключения я просто прежде хотел бы рассмотреть такой случай представим я делаю вот так века узбек 10 и потом пусть 20 делая и все его будет работать сейчас да но я ещё не дописал
00:41:27 - 00:43:01
обижайся вверх опираясь на то и хорошо я поставлю свои за исключением задумались вот сайт + + тогда соответственно бы bass плюс сайт делает это все нужно проверить что проблема с и теста есть у нас к пасте и сайт нет тут все равно проблема есть вот в этой строчке это строчки а потому что наса и соответственно в байтах а мы должны союз умножить на сайт сайтов ты здесь мы должны сад и 100 проверить что если сайт это смесь из офиса из меньше правды как поистине то соответственно нет все делаем а если
00:42:21 - 00:44:09
наверно мы должны проверить что так если он равен выше выше не может предположим не может мы должны стать делали это до что делаем тогда делаю тут точно сложность тупой ты начинаешь то есть он реально копируем мы делаем сегодня вот это не будем не болеет подошла гастом если останется время пока просто пишем до соответственно что угол соответственно делаем пусть у нас будет некий уступает равняется истории умноженное на 10 а на месяц на 2 раза больше чем выйти когда соответственно мы должны сделать
00:43:31 - 00:45:04
[музыка] скопирует ну вот через отключить через распишись ответственно мы бежим по capacity и соответственно должны что сделать а теста должны сделать и писать только не вал а должны так ; то у меня он поймал ну это скорее всего то есть что-то на твой станем потому что у меня моей стране так к пасте не скажу как здесь мы же уходили от 1 кей я хочу скопировать 10 должен элемент закипает выучить это хитрым образом дату и соответственно шоу бейяза должен сделать плюс и умноженный на saidov ft опять он полез
00:45:13 - 00:47:11
нормально [музыка] так значит ты главное тут понять что все правильно написал bass с базы плюс и умножим на нас а из уст и все вроде bird тест на элементы совсем должны запихнуть его в новый массив только здесь напишем тнт тут мы пишем не says a i'm in speed пелевин целей так пайн да но можно принципе сразу в конструктор передать вот эту конструкцию render подкаст логично логично так ну так значит мы если что выделить новый буфер скопировали сюда и что что еще на собственном еще осталось делаем new
00:48:28 - 00:50:09
site плюс один а чтобы перейти на бы сделать лид как только я смогу писать пишут так велик пейс но я хотела пока проблем одно рассмотреть хорошо теперь сделали аж до представим что вот здесь я выделил память да да а конструктор копирования бросить исключения но вот г мы сейчас до исключить не дойдем сейчас начал без исключения да я здесь хотелось исключить так даст ист на bass равняется сравнить соответственно [музыка] они все верно потому ты старый как мы должны здесь так бы вот код получается большим я
00:49:42 - 00:51:31
хотел бы вот это две совместить две строчки по сути они плюс-минус идентичности . ну да условия виду мы хотим что слышно делать отдавать сделан weights то есть сайты писать у нас для пустой вектора будет истинным это условия то есть мы что попадем также да и нам бы я стану проверка не нужно так же и здесь мы можем идти не по копейске я посажу и нам нужно идти по сайту нам нужно именно копировать те элементы которую на сайт но когда у нас просто вектор на сайте равен нулю правильно навыков на боже да но здесь же
00:51:12 - 00:52:42
можно просто хитро написать туз 1 ст ну например как то вот так написать со steam 11 копать если равен std макс примерно 10 и мы хотим инициализировать у неё capacity множестве на 2 и нам держись . не нужно будет ни пера . извиняйся первое условие по сути . мать таки попасть будем по союзу по союзу в принципе нравится capacity поэтому безразницы пищи убежать но вот в начале нравится пасти а тогда уже есть моменты во время релокации мне не нужно копировать элементы где у меня нет ничего мне имена
00:52:01 - 00:53:20
нужный момент релокации копировать элементы в которых не содержится данная и поэтому дна или иной они равны как в стиральном союзом и разница почему мы бежим если вас условиях сайт но здесь хорошо растут клавиш то сразу нам из мы сначала не обновляем к почти но все равно она даже старые могли сначала набит ducktales данную ещё с точки зрения как бы очевидности она тоже потому ухо может сказать так структуры так сейчас и пытаюсь понять угадать перестал так что накапай стеноза и выделили уже за копейки равняется не попасть похоже на
00:52:54 - 00:54:21
старый вид элитную это у нас нормальную история вообще все-таки нормальная история tempra вне сезон больше нормально осталось учесть exception да если надо интереснее будет exception а что может бросить нас тут дофига сего может постигнуть мы не у нее не учитываем сми может бросить эксепшен не можешь сбросить включения на мои первые задачки разобрались у неё соблюдать строго гарантии безопасности исключения все-таки и сбросит но потолок там уже надо хорошо хорошо хотим делать наш так соответственно что мы тогда делаем
00:53:37 - 00:55:15
потому что ты станешь то не выделяем получается все оставляем как есть правильно или чтобы там оставляем про старый capacity старые сальсы старые выпуски смогли добавить или метро до хотелось бы соблюсти здесь строго гранита щас ему не смогли добавить не смогли провести релокации мы должны от птицы вернутся прошлое состоянии что пусть бог работал именно так и тогда мы просто сделаем здесь делиться и [музыка] соответственно вот это всю историю переносим сюда так но надо еще про символизировать вызывающему кода чего я не забыл здесь
00:54:45 - 00:56:03
нужно про символизировать вызывающему коду что у нас уже пошло не так чтобы он понял что мы не смогли только не надо делать ну да логично [музыка] невинность печатается можно напечатать фрол без параметров вы просто про больше пробросить текущее значение вот так видно хорошо да ну и это тоже можно вынести это уже в конце то есть грубо говоря провести так называемый линию call бы здесь то есть если мы все смогли сделать только тогда мы будем менять состояние наш объект и все равно здесь есть ряд проблем но
00:55:30 - 00:56:36
аналогично тогда уже вас не слушают гида игры здесь ряд проблем ищут а я нет я понял сейчас и простой подход обновляясь давить на можно вынести разумеется о котрая вынес это без разницы ну по старому подует какие еще есть проблемы здесь я не вижу кода главное все так давайте посмотрим и здесь есть проблем но мы здесь соответственно здесь мысль исключением соответственно нищим да пока мы пока что еще не ищем пока говори про выделить его косу по к пасте еще у нас есть но представим что мы скопировать три
00:56:18 - 00:57:48
элемента а на четвертом у нас произошло исключение здесь мы уже не успеем это написать но как бы это мои я предлагаю просто словами пообсуждать как бы это можно было бы написать через наследование можно это как-то сделать нас и вектор наследуется грубо говорят вектор b и сам и что в это вектор bios будет но и следует я знал я просто я будет мыса из грубо говоря soy asi буфер выносит r-bass и конструирование кто начинается с производного объекта разрушается то есть наоборот разрушаться нас объект не будет так как у него в
00:57:16 - 00:58:33
конструкторе полетит исключения но выставиться объект деструктора базового класса и там просто можно сделать так что вы деструкторы по вызывались утеху коллектор у кого says другая сейчас проинициализирован точно такой же паттерн о нем паттерна подход который гибко позволяет здесь это сделать можно было конечно счетчиком так проходить к стрелять но лучше сделать через если на него направить эти тоже через вектор bass это следование так сделано у нас в самом деле время последуем чтобы ты нас нет вектор наследуется от вектор bsn он
00:58:13 - 00:59:13
по-разному называется да именно этот вектор b что делать он там вроде это просто деле содержит буфера и там можно принципе конструк сделать дестрой чтобы вот такие вот как бы штуки не писать непонятной можно это все функции выйду вынести назвать to construct потом дестро это такой как он был лишен подход просто лесники готовы решение которое может использоваться да ну это просто я могу почему подбил по ты потому что тоже бывает когда пишется какие-то структуру дано бывают возникает часто такая проблема и можно при помощи наследование
00:58:43 - 00:59:50
и лишать вот время восходит концу да есть какие-нибудь вопрос по результатам окей но я тогда да я тогда скину полный список да то есть по подробнее распишу собеседование что заметил что не заметил на чем стоит поработать и так далее вот этим поделюсь 3d
00:59:16 - 00:59:49