补充c++ primer没提的。来自<<inside c++ object>>
class Point3d
{
public:
virtual ~Point3d();
protected:
static Point3d origin;
float x,y,z;
};
& Point3d::z; // 取类中某个成员的地址,将得到z坐标在class object中的偏移量。
// 为了区分“没有指向任何data member的指针”和“指向第一个member的指针”,
// 在每个真实的member offset值之前都加1。
// 类型为:float Point3d::*
& origin.z // 取真实object上的member的地址时候,得到该member在内存中的真实地址。
// 类型为:float *
//实际取值
printf("&Point3d::x = %p/n", &Point3d::x) ;
// cout<<&Point3d::x<<endl; 不行