我正在阅读C ++ Primer,这段代码让我感到困惑。也许我以前读过但却忘记了它的内容。
这段代码有2个拷贝构造函数,但我不知道它们之间有什么区别
class Quote {
public:
Quote() = default;
Quote(const Quote&) = default; // <<== this one
Quote(Quote&&) = default; // <<== and this one
Quote& operator=(const Quote&) = default;
Quote& operator=(Quote&&) = default;
virtual ~Quote() = default;
}
一般情况有什么不同?
什么是双“&amp;”意思?
答案 0 :(得分:4)
它们不是复制构造函数,只是第一个:Quote(const Quote&) = default;
。第二个是移动构造函数,对移动语义和C ++ 11做一些阅读。