2017年9月10日のブックマーク (1件)

  • 実践C++入門講座 第36回目 最後の特殊メンバ関数ムーブ・コンストラクタ | Theolizer®

    こんにちは。田原です。 今回は最後の特殊メンバ関数ムーブ・コンストラクタとその使い方について解説します。また、特殊メンバ関数は常に自動生成されるわけではありません。自動生成されないのはどんな時か、またその理由について説明します。 1.ムーブ・コンストラクタ 前回、前々回と特殊メンバ関数について解説してきましたが、その最後のものがムーブ・コンストラクタです。 まずは前回のサンプルにムーブ・コンストラクタを入れてみます。(解説の都合で少し内容を変えています。) ムーブ・コンストラクタの構文は自分と同じ型の右辺値参照を1つだけ受け取るコンストラクタです。 内容はムーブ・セマンティクスのお約束に従い「ムーブ」と言える処理にします。 下記の例では、管理しているmFooの所有権とポインタをムーブしています。 class Foo { int mData; public: Foo(int iData) :

    実践C++入門講座 第36回目 最後の特殊メンバ関数ムーブ・コンストラクタ | Theolizer®