获取类成员变量的内存地址(非动态)

时间:2014-04-23 19:30:25

标签: c++

我想在我的类中打印变量的内存地址(即0x7ffff0 ...),但它只给出了对象的值。

我只是这样做才能学习。我认为我的语法不正确。我尝试了两种方法但都没有效果。我很感激为什么这不起作用的帮助。

#include <iostream>
using namespace std;
class test{
public:
char i;
};

int main(){
test x;
x.i='w';
char * y = &(x.i);
cout<<"address : " <<&x.i<<endl;
cout<<"address : " <<y<<endl;
}

输出:

address : w
address : w

2 个答案:

答案 0 :(得分:1)

在将指针传递给流之前,应该将指针强制转换为void *。您正在传递一个char *,它被解释为以null结尾的字符串。

答案 1 :(得分:0)

尝试将指针强制转换为整数类型。然后打印整数。试试intptr_t。