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));
}
移動コンストラクターなしで機能しますか?