【发布时间】:2023-03-14 16:27:01
【问题描述】:
是否可以使用 this 指针将数据从调用对象分配给在 const 成员函数中声明的对象?比如:
(假设我已经构建了 SomeClass)
void func() const
{
SomeClass object1;
object1 = *this;
}
int main()
{
SomeClass object2;
object2.func();
return 0;
}
我知道上面的功能是没有意义的。我只是想知道使用 *this 是否合法。
【问题讨论】:
-
你不能直接编译代码看看会发生什么吗?
-
您只是从
*this对象中读取数据,所以看不出它为什么会出现问题。 -
ideone.com 是你的朋友 :)
-
ideone.com 很棒!谢谢卡尔。是的,看起来这很好。我的程序中出现编译器错误,因为我忘记了二进制范围解析运算符,并且我认为它与 const 成员函数有关,因为我是第一次使用它们。感谢您的回复。
标签: c++