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的值
posted @ 2014-10-13 18:59  royalwong_real  阅读(2390)  评论(0编辑  收藏  举报