52:20 - Если кто не понял. Ниже приведу примеры и "скелет". Псевдоним базового типа: typedef int myint Псевдоним указателя на функцию: typedef ret_type(*myfuncptr)(args) ============= Примерно так расшифровывается то, что преподаватель объясняет на доске: Тип "указатель на функцию": _(*_)(_) А вот так выглядит определение псевдонима: typedef _(*aliasname)(_) А если представлять в "обычном" синтаксисе, то это значит: typedef _(*_)(_) aliasname Короче говоря, type(*)() это как int, т.е. это "тип данных" «указатель на функцию» и при typedef'e он уже зашит в синтаксисе.
Я правильно понял, что про typedef имеется ввиду схожесть с typedef old_type new_type в том, что с "простым" тайпдефом у нас вместо new_type подставляется название переменной при обьявлении, а при тайпдефе для функции мы так же определяем указатель на функцию путем замены new_type на имя? Простите за запутанное обьяснение)) 55:47
Посмотрите комментарии к видео, я об этом написал. Грубо говоря, вот что означает typedef для "указателя на функцию": typedef void(*fptr)(int,char) По смыслу это: typedef void(*)(int,char) fptr
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
1:17:20 - тут очень важно уточнить, что эта конвенция (__cdecl) не работает на x64 и ARM процессорах
52:20 - Если кто не понял. Ниже приведу примеры и "скелет".
Псевдоним базового типа:
typedef int myint
Псевдоним указателя на функцию:
typedef ret_type(*myfuncptr)(args)
=============
Примерно так расшифровывается то, что преподаватель объясняет на доске:
Тип "указатель на функцию":
_(*_)(_)
А вот так выглядит определение псевдонима:
typedef _(*aliasname)(_)
А если представлять в "обычном" синтаксисе, то это значит:
typedef _(*_)(_) aliasname
Короче говоря, type(*)() это как int, т.е. это "тип данных" «указатель на функцию» и при typedef'e он уже зашит в синтаксисе.
Интересно, нашли статью с Хабра!? Очень хотелось бы ознакомится!
Может кто-нибудь оставит ссылку на статью о соглашении о вызовах функций с хабра о которой идёт речь в конце ролика?
1:07:39 тип лямбды вполне можно указать вручную, как std::function f_display_42 = []() { print_num(42); };
Но удобнее, несомненно, auto.
Я правильно понял, что про typedef имеется ввиду схожесть с typedef old_type new_type в том, что с "простым" тайпдефом у нас вместо new_type подставляется название переменной при обьявлении, а при тайпдефе для функции мы так же определяем указатель на функцию путем замены new_type на имя? Простите за запутанное обьяснение))
55:47
Посмотрите комментарии к видео, я об этом написал.
Грубо говоря, вот что означает typedef для "указателя на функцию":
typedef void(*fptr)(int,char)
По смыслу это:
typedef void(*)(int,char) fptr
Топ
на каком диалекте русского тут говорят? Обычные слова трудно понимать
никакого диалекта нет