一、对象成员变量内存地址及其指针
结果:
二、成员变量的编译值及其指针
注意成员变量指针里面保存的实际上是个偏移值(不是实际的内存地址)
三、没有指向任何数据成员变量的指针
成员变量指针可以当做参数使用
调用
下面是有意思的地方:
结果竟然是-1,如下:
class MyClass
{
public:
int a{10};
int b{ 1 };
static void gogo()
{
cout << "这是静态的gogo\n";
}
void gogo2()
{
cout << "这是普通的gogo2\n";
}
};
void main()
{
MyClass myclass;
myclass.b = 100;
int MyClass::*p = &MyClass::b;
myclass.*p = 10000;
printf("%d\n",p);
cout << myclass.b << endl;
system("pause");
}
结果: