標準がPODタイプに対してのみ定義されていると述べている場合(C++ 11標準をまだ詳細に調べていないので、競合が正しいかどうかはわかりません(a))、非のためにそれを行いますPOD タイプで、動作が定義されていません。限目。
一部の実装では、惑星が整列している 1 日の特定の時間に一部の環境で機能する場合があります。ほとんどの場合は機能する可能性があります。移植性を重視する場合、それでも良い考えにはなりません。
(a)さらに調査した結果、あなたの特定のケースは問題ないようです。標準のセクション 3.9/3 ( n3242 ドラフトですが、この後期ドラフトから大幅に変更されていた場合は驚くでしょう) は次のように述べています。
自明にコピー可能な型 T について、T への 2 つのポインターが異なる T オブジェクト obj1 および obj2 を指している場合、obj1 も obj2 も基本クラスのサブオブジェクトではない場合、obj1 を構成する基礎となるバイトが obj2 にコピーされる場合、obj2 はその後同じものを保持するものとします。 obj1 としての値。
セクション 9 では、「自明にコピー可能」とは何を意味するかを (高レベルで) 定義しています。
自明なコピー可能クラスとは、次のようなクラス
です
。
- 自明でない移動代入演算子がなく (13.5.3、12.8)、
- 自明なデストラクタがある (12.4)。
12.8
参照セクションでは、クラス オブジェクトのコピーと移動、および割り当てについて、各領域の詳細を説明しています13.5.3
。