gpt4 book ai didi

c++ - "this"指针占用内存

转载 作者:行者123 更新时间:2023-12-01 14:36:31 24 4
gpt4 key购买 nike

谁能告诉我类对象中的指针“this”在创建时是否占用内存?

class Temp {
private:
Temp &operator=(const Temp &t) { return *this; }
}

最佳答案

this是被调用成员函数对象的地址,不需要保存在任何地方。
它通常通过将其值作为“隐藏”参数传递给成员函数来实现,因此它占用内存的方式与任何其他函数参数占用内存的方式相同。

“面向对象”代码

struct A
{
int f() { return this->x; }
int x;
};

int g()
{
A a;
return a.f();
}

通常会像这样“非面向对象”的代码来实现:

struct A
{
int x;
};

int Af(A* self)
{
return self->x;
}

int g()
{
A a;
return Af(&a);
}

关于c++ - "this"指针占用内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63611051/

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