繁体   English   中英

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

[英]what is the syntax for accessing address of this pointer in C++?

我试图知道该指针的地址。 尝试了以下方式。 有人可以建议我正确的方法吗? 我正在尝试打印cout<<&this<<endl; 在类成员函数中。 但是编译器会生成错误C2102:“&”需要左值。

如果我没记错的话, std::cout << this就足够了。

class Foo
{
public:
    void foo()
    {
        std::cout << this << std::endl;
    }
};

int main()
{
    Foo foo{};
    foo.foo();
}

如果要打印指针的地址,请将其强制转换为长整数。 通常,您将需要以十六进制而不是十进制打印它,以便于阅读。 您可能不想打印&this-那将是指向该类的指针的地址,我想是您希望在该类的位置进行打印。 那只是cout <<(长)这个;

C ++指针是一个地址。 只是不同的术语意味着同一件事。 因此,您无需获取“ this”指针的地址(基本上意味着“指向指针的指针”或“地址的地址”)

std :: cout << this;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM