在C ++中访问该指针的地址的语法是什么?

时间:2014-02-06 02:44:12

标签: c++

我想知道这个指针的地址。尝试以下方式。 任何人都可以建议我正确的方法吗? 我试图在类成员函数中打印cout<<&this<<endl;。但编译器生成错误C2102:'&amp;'需要l值。

3 个答案:

答案 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;这;