Название: Обратные вызовы в C++
Автор: Виталий Евгеньевич Ткаченко
Издательство: ЛитРес: Самиздат
Жанр: Программирование
isbn:
isbn:
6
Вообще, множественное наследование – неоднозначный механизм, который часто подвергается критике. В большинстве современных языков (например, Java, C#, Ruby и др.) множественное наследование не поддерживается. Тем не менее, в C++ множественное наследование существует, поэтому необходимо рассмотреть и такой случай.
7
Другое название, которое встречается в литературе, – функтор.
8
В инициаторе хранится копия экземпляра класса. Не ссылка, не указатель, а именно копия. Из этого вытекает несколько важных следствий, которые будут рассмотрены далее.
9
Частично этот недостаток устраняется с помощью шаблонов, что будет рассматриваться в соответствующем разделе.
10
Количество таких команд зависит от количества входных параметров функции.
11
Этот код получен с помощью компилятора Microsoft Visual studio версии 19.23.28106.4. Другие компиляторы могут генерировать отличающийся код, но принцип останется прежним.
12
В литературе можно встретить термин «лямбда-функция», но в стандарте С++ он именуется как “lambda-expression”, что в переводе означает «лямбда-выражение».
13
При использовании указателей на функцию их код встроить невозможно, потому что заранее неизвестно, какая функция будет использоваться.