C++11におけるムーブされた後のオブジェクト状態についてメモ。 C++11標準規格ではムーブ後のオブジェクト状態について、下記2種類の型に対する要求を規定する。N3264のRationale参照*1。 [A] 標準ライブラリが提供するクラス [B] 標準ライブラリと組み合わせて利用するユーザ定義クラス*2 [B]ユーザ定義クラス に対しては [A]標準ライブラリ提供クラス に比べて弱い要求条件、つまり標準アルゴリズムが正常動作するために必要最低限の保証しか要求しない*3。ただし [A]標準ライブラリ提供クラス に対する要求はムーブセマンティクスにおける “ベストプラクティス” と捉えることができ、ムーブ操作に対応するユーザ定義クラスでもこのレベルを保証する事が望ましい。 標準ライブラリ提供クラス 標準ライブラリ提供クラスにおいて、ムーブ後のオブジェクトは “有効だが未規定な状態(vali