資源ハンドルとは

ポインタ経由でオブジェクトにアクセスしなければならないクラスのことを、「資源ハンドル」という。
以下のようなクラスや、STL、stringのことを指す。

class Hoge{
public:
  char* name;
}

このようなクラスでデフォルトのコピーを行うと、メンバ単位のコピーとなってしまい、ポインタのアドレスをコピー元とコピー先で共有してしまうので、想定外の挙動となることがほとんである。こういったクラスでは、コピー演算や、ムーブ演算を独自に定義する必要となることが多い。

参考:プログラミング言語C++ 第4版 位置No.18488

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です