class A { public: A() { a = 1111; } virtual void f() { cout << "aF" << endl; } virtual void g() { cout << "gF" << endl; } virtual void h() { cout << "hF" << endl; } virtual void i() { cout << "iF" << endl; } public: int a; }; typedef void (A::*pfA)(); typedef void (*pf)(); int main(int argc, char *argv[]) { A obA; pfA *p; /*long *vtbl = (long*)&obA; p = (pfA*)vtbl[0]; (obA.*p[0])();*/ cout << sizeof(pf) << '\t' << sizeof(pfA) << endl; return 0; } #g++ -m32 test.cpp -o test #./test 4 8 Почему на функцию члензанимет 8 байт. Спасибо.
Ответ на:
комментарий
от ival
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от ival
Ответ на:
комментарий
от ival
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от ival
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Вопрос по С++ (2004)
- Форум C++/exceptions - деление на ноль не ловиццо, почему? (2006)
- Форум [C++] Перегрузка new и delete в производном классе (2011)
- Форум перегрузка виртуальных функций. (2015)
- Форум Какие правила языка C++ здесь используются? (2017)
- Форум linux gtkmm c++ g++: class Gtk::Application’ has no member named ‘make_window_and_run’ (2022)
- Форум constexpr массивы в c++ (2018)
- Форум Qt: QThread ? (2010)
- Форум Поглумиться над cl.exe (2006)
- Форум gcc bug (global array of templated class - no destructors) (2005)