首页 > 代码库 > C++的指针偏移

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的值

C++的指针偏移