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
};
コメント
トラックバック
このエントリのトラックバックURL: http://uyota.asablo.jp/blog/2017/02/16/8364170/tb
※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。
コメントをどうぞ
※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。
※なお、送られたコメントはブログの管理者が確認するまで公開されません。