我想知道这个指针的地址。尝试以下方式。
任何人都可以建议我正确的方法吗?
我试图在类成员函数中打印cout<<&this<<endl;
。但编译器生成错误C2102:'&amp;'需要l值。
答案 0 :(得分:1)
如果我没弄错的话,std::cout << this
就足够了。
class Foo
{
public:
void foo()
{
std::cout << this << std::endl;
}
};
int main()
{
Foo foo{};
foo.foo();
}
答案 1 :(得分:0)
如果要打印指针的地址,请将其转换为长指针。通常你会想要用十六进制打印,而不是十进制 - 更容易阅读。你可能不想打印和这个 - 这是指向类的指针的地址,我猜你想要打印类的位置。这只是cout&lt;&lt; (长)这个;
答案 2 :(得分:0)
C ++指针是一个地址。这只是不同的术语,意思相同。因此,您不需要获取'this'指针的地址(这基本上意味着“指向指针的指针”或“地址的地址”)
std :: cout&lt;&lt;这;