gpt4 book ai didi

c++ - 这个地址

转载 作者:IT老高 更新时间:2023-10-28 23:22:40 25 4
gpt4 key购买 nike

我试图找到 this 指针的地址,但是这段代码显示一个奇怪的错误:

#include <iostream>
using namespace std;
class Base
{
public:
void test()
{
void *address_of_this =&this;
cout<<address_of_this<<endl;
}
};

int main()
{ Base k;
k.test();

return 0;
} //error non-lvalue in unary'&'

你能解释一下这个错误吗?
还要指出在获取 this 的地址时什么是非法的?

最佳答案

this 是一个包含指向“当前对象”的地址的指针。它不是存储在某处(甚至可以更改)的变量,它是具有这些属性的特殊关键字。

因此,获取它的地址是没有意义的。如果您想知道“当前对象”的地址,您可以简单地输出:

std::cout << this;

或存储为

void* a = this;

关于c++ - 这个地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9114930/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com