是否有正当理由不从复制赋值运算符返回*this?

Sam*_*des 11 c++ copy-assignment

我们foo是一个结构或类与拷贝赋值运算符:

struct foo {
    foo &operator=(const foo &);  // or with some other return type?
};
Run Code Online (Sandbox Code Playgroud)

是否有一个合理的退货理由比其他任何东西*thisoperator=()?将它用于与任务无关的事情并不合理.

zch*_*zch 9

标准的例子是std::atomic.它返回指定的值.如果它返回引用,那么通读它可能会产生不同的结果.

  • @Wolf:Boost :: Phoenix是一个创建懒惰表达式的库.所以`operator =()`会返回一些你可以调用`operator()()`的对象来实际执行赋值. (2认同)