C++のdecltypeの使用方法
C++中的decltype是一个用于推导表达式类型的关键字。它可以在编译时通过分析表达式的类型来推导出表达式的返回类型。
decltype の利用例を次に示します。
decltype(expression)
expressionは有効なC++式です。
decltype の主な使い道は 2 つあります。
- 型の派生
int x = 5;
decltype(x) y; // 推导出y的类型为int
- 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