関数宣言後の削除の意味 質問する

関数宣言後の削除の意味 質問する
class my_class
{
    ...
    my_class(my_class const &) = delete;
    ...
};

= deleteその文脈では何を意味するのでしょうか?

= 0および以外の「修飾子」はありますか= delete?

ベストアンサー1

関数を削除するとC++11の機能:

「コピーを禁止する」という一般的な慣用句は、次のように直接表現できるようになりました。

class X {
    // ...
    X& operator=(const X&) = delete;  // Disallow copying
    X(const X&) = delete;
};

[...]

「削除」メカニズムは、どの関数にも使用できます。たとえば、次のようにして不要な変換を削除できます。

struct Z {
    // ...

    Z(long long);     // can initialize with a long long      
    Z(long) = delete; // but not anything less
};

おすすめ記事