在 C++11 标准的第 12.8/15 段中定义:
非联合类 X 的隐式定义的复制/移动构造函数执行其基类和成员的成员复制/移动。[...]
这是否意味着:
struct st {
int a;
int b;
// ...
};
// ...
void do_smt(st tmp) {
st lala(std::move(tmp));
// ...
}
// ...
int main(int argc, char* argv[]) {
st test(1, 2);
do_smt(std::move(test));
}
没有移动构造函数可以工作吗?