1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
#include <string>
#include <iostream>
class X
{
public:
void fun();
std::string d_str;
};
inline void X::fun()
{
std::cout << "hello\n";
}
using namespace std;
int main()
{
cout <<
"size of pointer to data-member: " << sizeof(&X::d_str) << "\n"
"size of pointer to member function: " << sizeof(&X::fun) << "\n"
"size of pointer to non-member data: " << sizeof(char *) << "\n"
"size of pointer to free function: " << sizeof(&printf) << '\n';
}
/*
generated output (on 32-bit architectures):
size of pointer to data-member: 4
size of pointer to member function: 8
size of pointer to non-member data: 4
size of pointer to free function: 4
*/
|