ITedite

資源ハンドルとは

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

class Hoge{
public:
  char* name;
}

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

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