我想在我的类中打印变量的内存地址(即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
答案 0 :(得分:1)
在将指针传递给流之前,应该将指针强制转换为void *。您正在传递一个char *,它被解释为以null结尾的字符串。
答案 1 :(得分:0)
尝试将指针强制转换为整数类型。然后打印整数。试试intptr_t。