[C++] адаптеры функций-членов

zrab

Почему в адаптерах функций-членов они вызываются через указатель на объект (а не просто вписываем название функции)?
Именно в адаптерах функций-членов, а не в указателях на адаптеры функций.

erotic

 Почему в адаптерах функций-членов они вызываются через указатель на объект (а не просто вписываем название функции)?
Ты не мог бы конкретизировать?

zrab

Сорри за качество. Вот картинка из Штрауструпа.

Непонятно, почему функция pmf используется с указателем.

erotic

Потому что p - это указатель на объект.
В случае, если бы прототип функции выглядел так: R operator (T& p то и вызов был бы (p.*pmf.

Missi4ka

Вообще говоря, в c++ нет типа данных "функция", есть только указатель на функцию. То, что иногда вместо &func можно написать func - это вольность языка, введенная, вдимо, для упрощения записи. Так вот. Возможно, такое упрощение допустимо только по отношению к обычным функциям, а к методам классов - нет. Это всего лишь догадка, как на самом деле - не знаю.
Оставить комментарий
Имя или ник:
Комментарий: