デフォルトのコンストラクターとデストラクターの「"=default"」と「{}」を区別します
「=default」と「{} " 仮想デストラクターでは互換性があるように見えますが、デフォルトのコンストラクターと非仮想コンストラクターで使用される場合には大きな違いが見られます。 destructors.
Default Constructors
デフォルト コンストラクターの場合、「=default」はデフォルト コンストラクターを生成するようにコンパイラに明示的に指示します。対照的に、「{}」を使用すると、ユーザーが提供するデフォルトのコンストラクターが生成され、クラスの単純さが変わります。自明なクラスにより効率的なメモリ操作が可能になりますが、空の "{}" デフォルト コンストラクターを含むユーザー提供関数では、この分類が削除されます。
デストラクター
の場合仮想デストラクターのうち、「=default」と「{}」には最小限の違いがあります。ただし、非仮想デストラクタの場合、「=default」はコンパイラによって生成されたデストラクタを意味し、「{}」はユーザー提供のデストラクタを示します。ユーザーが提供するデストラクターは自明な分類を妨げるため、この区別は依然としてクラスの自明性を判断する上で重要です。
したがって、「=default」と「{}」のどちらかを選択するときは、クラスが自明であると見なされるべきかどうかを考慮してください。 。 「=default」は関数の生成をコンパイラに委任することで簡単さを維持しますが、「{}」はユーザー提供の関数を作成し、クラスの簡単さのステータスに影響を与えます。
以上がデフォルトのコンストラクターとデストラクターの「=default」と「{}」の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。