表示: Object Pascal C++
表示設定

__has_trivial_destructor

提供: Appmethod Topics
移動先: 案内, 検索

型特性関数(C++0x):インデックス への移動


カテゴリ

型特性関数

構文

bool __has_trivial_destructor (型名 T )

T が自明なデストラクタを持つ場合のみ true を返します。

T が不完全な型の場合、エラーになります。

メモ: 20.4.4.3 節の定義によれば、型 T が以下のいずれかである場合、T は自明なデストラクタです。

  • スカラー型(または、その配列)
  • スカラー型(または、その配列)
  • 自明なデストラクタを持つクラス型の配列
  • 自明なデストラクタを持つクラス型の配列
  • 自明なデストラクタを持つクラス型

作業ドラフト の 12.4 節によれば、以下の条件に当てはまる場合、クラス X のデストラクタは自明です。

  • ユーザーが指定していない。
  • クラス X は仮想関数を持たない。
  • クラス X は仮想基底クラスを持たない。
  • クラスの直接の基底クラスがすべて、自明なデストラクタを持つ。
  • クラス型(または、その配列)であるクラスの静的でないすべてのデータ メンバの場合、それらの各クラス型が自明なデストラクタを持つ。

デストラクタが暗黙的に宣言されている場合、またはインラインを = default; として定義している場合、デストラクタはユーザーの指定ではありません。

デストラクタが削除済みとして定義されている場合、Ox 相互作用 false を返します。

デフォルトの関数定義を持つ Ox 相互作用

関連項目

個人用ツール
他言語版