【发布时间】:2012-08-31 15:16:00
【问题描述】:
我正在阅读关于“五规则”的 nice answer 并注意到一些我不记得以前见过的东西:
class C {
...
C& operator=(const C&) & = default;
C& operator=(C&&) & = default;
...
};
对于复制赋值运算符和移动赋值运算符,= default 前面的 & 字符的用途是什么?有人有这方面的参考吗?
【问题讨论】:
-
GCC 4.7.1 上的编译器错误。我从来没有听说过在那里放一个&符号。
-
阅读该答案的最后一条评论。
-
@JoachimPileborg 确实,但我不知道该怎么做,所以我更愿意问。
-
为了完整起见,请查看What is "rvalue reference for *this"?。
-
*this的右值引用从 gcc 4.8.1 开始实现。
标签: c++ c++11 assignment-operator default-implementation