C++的指针偏移
假设一个类的定义如下:
class Ob{
public:
Ob() : a(1), b(10) {}
int a;
private:
int b; };
试编一段程序,用指针偏移的方法通过访问a去获取
b的值。
这个题目不太明白?是要编一个b[10]数组的类么?还是什么意思呢?
答:
类ob的a成员和b成员,紧挨着,所以:a的地址加sizeof(int)就是b的地址。
Ob ob;
int *p=&ob.a+sizeof(int);
int t=*p;//这里取的,就是ob.b的值
不满足现状,用于挑战高峰!