首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

知道地址怎么访问该地址的值

2012-03-30 
知道地址如何访问该地址的值?假设我知道 int i 存了一个地址,那有什么方法可以访问到这个地址里存的值?或

知道地址如何访问该地址的值?
假设我知道 int i 存了一个地址,那有什么方法可以访问到这个地址里存的值?
 
或者换个问题:知道一个类里的第一个成员类型是int(如class T{public int x;}A;,A是一个类变量), 但是不知道这个成员的名字(不知道是x,还是y,还是z),那有什么办法可以访问到A.x 吗?


[解决办法]
如果你能确定i指向成员x,那么直接 *(int *)i就是x。

如果T有很多成员,而你根本不知道i指向哪个成员,那这个无解,除非你能对T的对象的地址进行限制,比如必须在64字节上对其

如果你知道i指向比如y,那么你可以通过(T *)(i - (size_t)&((T *)0)->y)获得i指向的那个y所在的T的指针,进一步访问x

热点排行