謎の = delete: クラス機能の定義
C では、関数宣言に続く = delete 構文は重要な目的を持っています。関数の明示的な削除を意味します。 C 11 で導入されたこの機能は、クラスの動作に対する前例のない制御を提供します。
What = delete が達成します
関数が削除されると、その関数の呼び出しは事実上禁止されます。つまり、クラスのオブジェクトに対して呼び出すことはできません。このアプローチは、コピーや代入操作を禁止したい場合、または特定の変換を防止したい場合に特に便利です。
たとえば、次のコード スニペットでは、
コンストラクター my_class(my_class const & ) は意図的に削除済みとしてマークされており、コピー コンストラクターの作成を妨げています。
コピーと削除を超えた機能の拡張
関数を削除する機能とは別に、C は追加の機能も提供します。関数宣言に追加できる修飾子。
クラスの動作のカスタマイズ
示されているように、= delete 構文とその他の修飾子を使用すると、プログラマはクラスの機能を正確に調整できます。関数を削除したり、他の規定を強制したりすることで、クラス設計者はオブジェクトとの対話を効果的にガイドし、オブジェクトが意図したとおりに動作するようにすることができます。
以上がC クラス定義における `= delete` 構文は何をしますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。