Как пользоваться DECLTYPE? | Углубленное программирование на C++:(По книге Скотта Мейерса) #3

แชร์
ฝัง
  • เผยแพร่เมื่อ 11 ม.ค. 2025

ความคิดเห็น • 20

  • @ИгорьПорошин-л6м
    @ИгорьПорошин-л6м 6 หลายเดือนก่อน +5

    Забыл рассказать про важный момент, если в decltype указать выражение, то это выражение не будет выполняться, а лишь выведется тип выражения.
    Например здесь удаления элемента не будет:
    std::set s {1,2,3};
    decltype(s.erase(s.begin()));
    или вот например:
    int x = 42;
    decltype(x++);

  • @MrRylov
    @MrRylov 25 วันที่ผ่านมา

    Спасибо за видео, после него я понял почему rust такой популярный :)

  • @billjohnes9380
    @billjohnes9380 6 หลายเดือนก่อน +1

    13:00 Для return(x + 5) будет int, а не ссылка на int.
    13:21 decltype для любых именованных объектов даст T, а не ссылку на T.
    Если завести, например, вектор структур, то decltype от обращения по индексу к вектору даст ссылку на структуру.
    Но если после обращения по индексу к вектору далее обратиться к полю структуры, которое, например, имеет тип int, то decltype от этого выражения даст int, а не ссылку на int.

  • @AdaddsaFadadaas
    @AdaddsaFadadaas 6 หลายเดือนก่อน +2

    Отличные гайды, спасибо за видео

  • @Muhammad-phi
    @Muhammad-phi 6 หลายเดือนก่อน

    Пол года университета в этом канале 👍👍👍. Подписывайтесь

  • @eugenez7955
    @eugenez7955 หลายเดือนก่อน +2

    C++ развивается, а методов выстрелить себе в ногу меньше не становится.

  • @dmitriyv4557
    @dmitriyv4557 6 หลายเดือนก่อน

    Молодец, полезно!
    Удачи!

  • @hashiyomu
    @hashiyomu 7 หลายเดือนก่อน

    Здравствуйте. А мы не можем использовать универсальную ссылку auto&& вместо decltype(auto) для определения типа возвращаемого значения? (9:30)

    • @PolevoysProgramming
      @PolevoysProgramming  6 หลายเดือนก่อน +2

      Привет, конкретно в этом примере использование auto&& и decltype(auto) действительно даст один и тот-же результат, однако посмотрим на такой пример:
      int getInt()
      {
      return 10;
      }
      int main()
      {
      auto&& uref = getInt(); // int&&
      decltype(auto) da = getInt(); // int
      }

    • @hashiyomu
      @hashiyomu 6 หลายเดือนก่อน

      @@PolevoysProgramming Спасибо!

  • @portusdelphini
    @portusdelphini 15 วันที่ผ่านมา

    Плюсы круты. После 14 он стал комфортным

  • @HastaQwert
    @HastaQwert 6 หลายเดือนก่อน

    полезнл

  • @RedBallOfLove
    @RedBallOfLove 6 หลายเดือนก่อน +7

    Насколько же сильно все испортилось. Я достаточно давно не прикасался к плюсам, но видеть подключения буста только для понимания, какой же тип на самом деле - треш. Впихивание новых конструкций без фактического рефакторинга самого языка делает его абсолютно нечитаемым.

    • @shitout1337
      @shitout1337 6 หลายเดือนก่อน

      Ждем С+++ без багажа костылей и убогих конструкций

    • @primovictoria896
      @primovictoria896 6 หลายเดือนก่อน

      да автор прост кринжует на самом деле. и без буста можно, да и надо ли? любой LSP современный это делает и в дополнение с любой ide или текстовым редактором отрисует тип.
      А на сколько вы долго к плюсам не прикасались?) С++ 0х сущесвует очень давно, официально аж с 11 года, нуежто более 13 лет на плюсах не писали?)

    • @VladykaVladykov
      @VladykaVladykov 6 หลายเดือนก่อน

      Можно использовать typeid(...) просто из стандарта

  • @semurgx
    @semurgx 6 หลายเดือนก่อน +12

    какая же мешанина этот c++. как будто собрали множество языков и вылепили ужасного голема

    • @Slavasil
      @Slavasil 6 หลายเดือนก่อน +1

      имхо лучше чем php)

    • @usercommon1
      @usercommon1 5 หลายเดือนก่อน

      Так и есть. Попробуйте Rust, тут всё почти чисто)))