Лекция 5. Функции (Программирование на C++, часть 1)

แชร์
ฝัง
  • เผยแพร่เมื่อ 18 ธ.ค. 2024

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

  • @igorl9211
    @igorl9211 5 ปีที่แล้ว +18

    5:11 - передача параметров в функцию
    24:10 - RVO
    32:30 - немного о move semantics
    34:02 - перегрузка
    42:05 - произвольное количество аргументов
    58:10 - auto
    01:00:55 - передача const& в шаблонные функции
    01:05:05 - лямбда-функции
    01:09:50 - каррирование функций
    01:14:10 - calling conventions

  • @bezik572
    @bezik572 2 ปีที่แล้ว +1

    1:17:20 - тут очень важно уточнить, что эта конвенция (__cdecl) не работает на x64 и ARM процессорах

  • @LOL-nq3ky
    @LOL-nq3ky 4 ปีที่แล้ว +2

    52:20 - Если кто не понял. Ниже приведу примеры и "скелет".
    Псевдоним базового типа:
    typedef int myint
    Псевдоним указателя на функцию:
    typedef ret_type(*myfuncptr)(args)
    =============
    Примерно так расшифровывается то, что преподаватель объясняет на доске:
    Тип "указатель на функцию":
    _(*_)(_)
    А вот так выглядит определение псевдонима:
    typedef _(*aliasname)(_)
    А если представлять в "обычном" синтаксисе, то это значит:
    typedef _(*_)(_) aliasname
    Короче говоря, type(*)() это как int, т.е. это "тип данных" «указатель на функцию» и при typedef'e он уже зашит в синтаксисе.

  • @remzona7680
    @remzona7680 2 ปีที่แล้ว +1

    Интересно, нашли статью с Хабра!? Очень хотелось бы ознакомится!

  • @das.official
    @das.official 2 ปีที่แล้ว +2

    Может кто-нибудь оставит ссылку на статью о соглашении о вызовах функций с хабра о которой идёт речь в конце ролика?

  • @0imax
    @0imax 3 ปีที่แล้ว +1

    1:07:39 тип лямбды вполне можно указать вручную, как std::function f_display_42 = []() { print_num(42); };
    Но удобнее, несомненно, auto.

  • @illiadenysenko7776
    @illiadenysenko7776 4 ปีที่แล้ว

    Я правильно понял, что про typedef имеется ввиду схожесть с typedef old_type new_type в том, что с "простым" тайпдефом у нас вместо new_type подставляется название переменной при обьявлении, а при тайпдефе для функции мы так же определяем указатель на функцию путем замены new_type на имя? Простите за запутанное обьяснение))
    55:47

    • @LOL-nq3ky
      @LOL-nq3ky 4 ปีที่แล้ว +1

      Посмотрите комментарии к видео, я об этом написал.
      Грубо говоря, вот что означает typedef для "указателя на функцию":
      typedef void(*fptr)(int,char)
      По смыслу это:
      typedef void(*)(int,char) fptr

  • @systemsad9889
    @systemsad9889 5 ปีที่แล้ว +4

    Топ

  • @wizard_still
    @wizard_still 4 ปีที่แล้ว +3

    на каком диалекте русского тут говорят? Обычные слова трудно понимать

    • @bezik572
      @bezik572 2 ปีที่แล้ว +1

      никакого диалекта нет