Когда мне нужна указатель на член класса, я делаю следующим образомРазъяснения на указатель на член нестатического класса
struct MyStruct
{
int foo();
};
int (MyStruct::*p)() = &MyStruct::foo;
Моим вопрос, почему я должен использовать & оператор взять адрес, который может игнорируется, если это статическая функция. Кроме того, я слышал, что указатель на участников на самом деле не является указателем. Может ли кто-нибудь прояснить это?
Agree.And адрес указателя функции, не являющихся членами могут быть решены во время компиляции. Однако для указателя функции члена его адрес будет разрешен во время выполнения, например, виртуальная функция. Таким образом, он не может использовать один адрес для представления функции-указателя-объекта-члена – RolandXu