c++ - 是否允许分配给取消引用的 this (*this)?

标签 c++

我目前正在更新我的 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/

相关文章:

C++ 运行时字符串格式化

c++ - g++ 链接错误 : 'undefined reference to ' main'

c++ - UDP recv/recv 来自多个发件人

c++ - 核心 cpp 指南中 f(T*, int) 接口(interface)与 f(span<T>) 接口(interface)的含义

c++ - Dlib 将自训练检测器应用于视频 (mmod_dnn)

java - 赋值是通过引用?

c++ - Qt:如何为两台显示器使用 AA_UseHighDpiPixmaps

c++ - 如何查看编译后的c++文件的机器语言?

c++ - 在类定义中声明随机类的对象

c++ - 容器的元素如何访问其容器的 "owner"?