我目前正在更新我的 C++ 技能,想知道是否可以为 *this
分配一些东西。
我知道分配给 this
是被禁止的,但找不到与我的情况相同的信息。
一个例子:
class Foo {
int x;
public:
Foo(int x) : x(x) {}
Foo incr() { return Foo(x+1); }
void incr_() { (*this) = incr(); }
};
编辑:将 incr()
的返回类型从 void
更正为 Foo
。
最佳答案
是的,这是允许的,它实际上调用了您类的赋值运算符。
关于c++ - 是否允许分配给取消引用的 this (*this)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3944501/