gpt4 book ai didi

c++ - 为什么 'this' 指针在通过引用返回以进行运算符赋值时被取消引用?

转载 作者:行者123 更新时间:2023-11-28 01:14:13 25 4
gpt4 key购买 nike

当重载赋值运算符时,我注意到许多示例通过引用返回,然后返回一个引用的“this”指针,如下所示:

Myclass &operator=(const Myclass &rhs){
if(this==&rhs)
return *this;
value=rhs.value;
return *this;
}

我不明白的是,为什么它不在不取消引用的情况下只返回指针“this”,因为指针的值是一个地址?肯定会返回一个取消引用的指针返回指向的值,而不是 header 中 & 指定的地址。

最佳答案

如果您将函数的返回类型更改为 MyClass*,那么您可以返回 this 而无需取消引用它。 this 是一个指针,您只能将其作为指针返回,除非您取消引用它。

关于c++ - 为什么 'this' 指针在通过引用返回以进行运算符赋值时被取消引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59227932/

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