【发布时间】:2015-11-20 10:46:05
【问题描述】:
编译器(让我们以g++为例)在编写类时是否提供默认的移动构造函数和默认的移动赋值运算符?
编译器提供一个默认值:
- 构造函数(无参数),除非声明了另一个带参数的构造函数。
- 析构函数(大概什么都不做?-实际上不完全,这个问题有答案here,它调用基类析构函数)
- 除非我们自己编写,否则复制构造函数
- 复制赋值运算符,除非我们自己编写
编译器是否会提供默认的移动构造函数或移动赋值运算符。
【问题讨论】:
-
@dyp 我想我在这里可能有一个误解——什么类只能有一个复制构造函数?
-
@dyp Ah 当然 - 已编辑
标签: c++11 move-semantics