Когда кажется что хорошо знаешь С++ - посмотри доклады товарища Полухина и самооценка сразу вернется туда где ей и положено быть :-)
@Max-ob8gq2 күн бұрын
Да его невозможно знать весь. Полухин говорил что знает кресты на 8/10, Страуструп говорил что знает кресты на 7/10. Главное это удовольстве, которые мы получаем от работы с компьютерами и программами. Главное это не потерять за годы работы.
@danildil3909Күн бұрын
На то это и с++
@apivovarov2Күн бұрын
достаточно нырнуть в исходники любого класса/функции из неймспейса std и понять что на такой настоящий код за который не стыдно вы ещё не способны . а вы его даже читаете с большим трудом, а о написании подобного и речи не идет
@qlank9751Күн бұрын
@@apivovarov2 полухин, ты? если тебе не стыдно за код, похожий на любую стл - очень жаль. опыта тебе!
@vvairy311911 сағат бұрын
@@apivovarov2ещё бы этот код в нормальном кодстайле писался. Как раз написать, придумав концепцию, намного проще, чем читать
@asc7uni2 күн бұрын
У Антона с каждым выступлением улыбка всё шире❤
@userf1552 күн бұрын
И с каждым разом всё громче и громче поздравляет с праздником доброго утра.
@taraslitvinenko86512 күн бұрын
Такое нам интересно, спасибо большое. Всех со всеми праздниками и всех благ и успехов!
@IvanQRT2 күн бұрын
Такое мы смотрим. Спасибо за видео.
@cyanideburnoutКүн бұрын
а кто мешает размещать указатель на трейс перед __cxa_exception? аллоцировать на ALLIGN_SIZE больше и заменить не только __cxa_allocate_exception(), но и __cxa_free_exception()?
@romanderevyanko520Күн бұрын
У Полухина крутые доклады конечно
@ПапПрог-т8е2 күн бұрын
похоже на супер продвинутые костыли)
@DadundddaDКүн бұрын
После просмотра еле вылез из-под завала костылей.
@Ice.Rezzet2 күн бұрын
Пришел к выводу что, и у исключений, и у кодов возврата есть огромный минус, их слишком легко проигнорировать. Поэтому в функциях, в которых может пойти что-то не так, и на это нужно обратить обязательно внимание программиста, начал делать обязательный параметр типа std::function который должен передать пользователь функции. void foo(type1 param1, type2 param2, std::function); Вероятно это может не во всех случаях хорошо работать, вероятно это может не самым быстрым способом работать поэтому не подойдет для кусков кода которые должны работать сверх быстро, но это точно заставит программиста передать коллбек на функцию обработки ошибки, но если он и там поленился сделать реализацию, на этом как бы мои полномочия все, тогда на кодревью вставлю бревно, речь идет о внутренних проектах где потребители функции коллеги.
@yan_mezhovКүн бұрын
std::function делает аллокацию дин. памяти каждый раз, но можно и fixed_function юзать
@Ice.RezzetКүн бұрын
@@yan_mezhov все так. Основная цель это заставить коллег обработать ошибку при использование, и не потерять обработчик при модификации кода. Трюк работал, но приложение было совсем-совсем лайтовое по требованием производительности. Поэтому на универсальное решение не тянет, но может кому-то будет полезно, потому что это удобно с точки зрения написания кода. Функции получаются с добровольно принудительным обработчиками ошибок.
@pkowakКүн бұрын
@@Ice.Rezzet а чем плохо тот же код возврата с условным [[nodiscard]], по сути как бы тоже подразумевается что надо бы и обработать, и пользователь сам дурак если таки неиспользует значение
@Ice.RezzetКүн бұрын
@pkowak всем хорош, наверно вопрос вкуса, мне такой код больше нравится void foo([](const std::string& message) { std::cout