C++ の宣言で = delete ― 2017年02月16日 22時20分58秒
class C
{
C& operator=( const C& ) = delete;
C( const C& ) = delete;
};
これはクラスインスタンスの複製を禁止する。
以前は、宣言のみをしてコンパイラの自動生成を抑制し、実装を行わずに、リンクエラーを起こさせて禁止事項だと伝えるのが精いっぱいだった。そのため、宣言の周辺にはコメントとして、意図的に実装していない故が、記述されていた。
class C
{
C& operator=( const C& ); // no-copy
C( const C& ); // no-copy
};
最近のコメント