繁体   English   中英

复制构造函数之间的区别?

[英]difference between copy constructors?

我正在阅读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;
}

一般有什么区别?

双“&”是什么意思?

它们不是复制构造函数,而只是第一个复制构造函数: Quote(const Quote&) = default; 第二个是move构造函数 ,对move语义和C ++ 11进行一些阅读。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM