Антон Полухин - Грязные C++ трюки из userver и Boost

Поделиться
HTML-код
  • Опубликовано: 24 янв 2025

Комментарии • 30

  • @xvoidee
    @xvoidee 16 дней назад +33

    Когда кажется что хорошо знаешь С++ - посмотри доклады товарища Полухина и самооценка сразу вернется туда где ей и положено быть :-)

    • @Max-ob8gq
      @Max-ob8gq 16 дней назад +14

      Да его невозможно знать весь. Полухин говорил что знает кресты на 8/10, Страуструп говорил что знает кресты на 7/10.
      Главное это удовольстве, которые мы получаем от работы с компьютерами и программами. Главное это не потерять за годы работы.

    • @danildil3909
      @danildil3909 15 дней назад

      На то это и с++

    • @apivovarov2
      @apivovarov2 15 дней назад +1

      достаточно нырнуть в исходники любого класса/функции из неймспейса std и понять что на такой настоящий код за который не стыдно вы ещё не способны . а вы его даже читаете с большим трудом, а о написании подобного и речи не идет

    • @qlank9751
      @qlank9751 15 дней назад

      ​@@apivovarov2 полухин, ты? если тебе не стыдно за код, похожий на любую стл - очень жаль. опыта тебе!

    • @vvairy3119
      @vvairy3119 14 дней назад

      ​@@apivovarov2ещё бы этот код в нормальном кодстайле писался. Как раз написать, придумав концепцию, намного проще, чем читать

  • @AlexisVaBel
    @AlexisVaBel 12 дней назад +1

    Огонь - статья на хабре + видос. Моё почтение, господа, за годный материал.

  • @asc7uni
    @asc7uni 16 дней назад +11

    У Антона с каждым выступлением улыбка всё шире❤

    • @userf155
      @userf155 16 дней назад +3

      И с каждым разом всё громче и громче поздравляет с праздником доброго утра.

  • @taraslitvinenko8651
    @taraslitvinenko8651 16 дней назад

    Такое нам интересно, спасибо большое. Всех со всеми праздниками и всех благ и успехов!

  • @romanderevyanko520
    @romanderevyanko520 16 дней назад +4

    У Полухина крутые доклады конечно

  • @IvanOkhmatovskii
    @IvanOkhmatovskii 7 дней назад

    Улыбающийся Константин Владимиров в аудитории это +100 к докладу :)

  • @IvanQRT
    @IvanQRT 16 дней назад

    Такое мы смотрим. Спасибо за видео.

  • @ПапПрог-т8е
    @ПапПрог-т8е 16 дней назад +3

    похоже на супер продвинутые костыли)

  • @ajajapenoflex
    @ajajapenoflex 13 дней назад

    добротный материал

  • @alexeyvl
    @alexeyvl 2 дня назад

    блеск как всегда….рад слышать автора boost.pfr - static reflection

  • @cyanideburnout
    @cyanideburnout 15 дней назад +2

    а кто мешает размещать указатель на трейс перед __cxa_exception? аллоцировать на ALLIGN_SIZE больше и заменить не только __cxa_allocate_exception(), но и __cxa_free_exception()?

  • @zlatoust4444
    @zlatoust4444 7 дней назад

    Полухин крут, но у меня только один вопрос: что он делает в Яндексе? :-)

  • @Ice.Rezzet
    @Ice.Rezzet 16 дней назад +2

    Пришел к выводу что, и у исключений, и у кодов возврата есть огромный минус, их слишком легко проигнорировать. Поэтому в функциях, в которых может пойти что-то не так, и на это нужно обратить обязательно внимание программиста, начал делать обязательный параметр типа std::function который должен передать пользователь функции.
    void foo(type1 param1, type2 param2, std::function);
    Вероятно это может не во всех случаях хорошо работать, вероятно это может не самым быстрым способом работать поэтому не подойдет для кусков кода которые должны работать сверх быстро, но это точно заставит программиста передать коллбек на функцию обработки ошибки, но если он и там поленился сделать реализацию, на этом как бы мои полномочия все, тогда на кодревью вставлю бревно, речь идет о внутренних проектах где потребители функции коллеги.

    • @yan_mezhov
      @yan_mezhov 16 дней назад

      std::function делает аллокацию дин. памяти каждый раз, но можно и fixed_function юзать

    • @Ice.Rezzet
      @Ice.Rezzet 16 дней назад

      @@yan_mezhov все так. Основная цель это заставить коллег обработать ошибку при использование, и не потерять обработчик при модификации кода. Трюк работал, но приложение было совсем-совсем лайтовое по требованием производительности. Поэтому на универсальное решение не тянет, но может кому-то будет полезно, потому что это удобно с точки зрения написания кода. Функции получаются с добровольно принудительным обработчиками ошибок.

    • @pkowak
      @pkowak 16 дней назад +3

      @@Ice.Rezzet а чем плохо тот же код возврата с условным [[nodiscard]], по сути как бы тоже подразумевается что надо бы и обработать, и пользователь сам дурак если таки неиспользует значение

    • @Ice.Rezzet
      @Ice.Rezzet 16 дней назад

      @pkowak всем хорош, наверно вопрос вкуса, мне такой код больше нравится
      void foo([](const std::string& message)
      {
      std::cout

  • @DadundddaD
    @DadundddaD 16 дней назад +1

    После просмотра еле вылез из-под завала костылей.

  • @ЯсенПень-ф9л
    @ЯсенПень-ф9л 16 дней назад

    маловато будет

  • @0kipullup0
    @0kipullup0 15 дней назад

    грязные потому что память не чистят?

  • @evgenygal8991
    @evgenygal8991 13 дней назад +2

    Ничего нового. Яндекс граждане выеживаются, как обычно. Но на практике, за такое нужно руки выдергивать.

  • @paulfunigga
    @paulfunigga 14 дней назад +2

    C++ -- бесполезный язык