C++のdecltypeの使用方法

C++中的decltype是一个用于推导表达式类型的关键字。它可以在编译时通过分析表达式的类型来推导出表达式的返回类型。

decltype の利用例を次に示します。

decltype(expression)

expressionは有効なC++式です。

decltype の主な使い道は 2 つあります。

  1. 型の派生
int x = 5;
decltype(x) y;  // 推导出y的类型为int
  1. decltype
int add(int a, int b) {
    return a + b;
}

decltype(add(1, 2)) result;  // 推导出result的类型为int

留意すべきは、decltypeが戻り型の推論を行う際、実際に式を実行するわけではなく、式の種類に基づいて推論を行うということだ。そのため、式が実行不可能であったり、コンパイルエラーを起こす場合でも、decltypeの推論結果には影響しない。

さらに、decltypeはautoキーワードと組み合わせて、変数の型を推論し、初期化子の型も自動推論するために使用できます。例:

auto x = 5;
decltype(x) y;  // 推导出y的类型为int
bannerAds