
24
|
1 章 型推論
•
名前ではなく、型を T とする左辺値式については、常に T& という型を返す。
•
C++14 では decltype(auto) が追加された。auto のように初期化子から型を推論するが、適
用される推論規則は decltype のものである。
項目 4:推論された型を確認する
推論した型を表示、確認する方法は複数あり、開発プロセスの段階に応じ変化します。ここでは
3 種類の方法を取り上げます。コーディング時に型推論情報を得る、コンパイル時に得る、実行時
に得る、の 3 つです。
IDE のエディタ
IDE のエディタは、マウスカーソルを乗せるだけでプログラムエンティティ(変数、仮引数、関数
など)の型を表示する機能を備えているのが一般的です。例えば、次のようなコードがあるとしま
しょう8。
const int theAnswer = 42;
auto x = theAnswer;
auto y = &theAnswer;
IDE のエディタは恐らく、x に推論した型を int、y については const int* と表示するでしょう。
この動作を実現するには開発中のコードが多かれ少なかれコンパイル可能な状態でなければなり
ません。IDE が型推論情報を表示できるのは、内部で C++ コンパイラを実行しているためです(も
しくは、少なくともコンパイラのフロントエンド)。コンパイラがコードを構文解析、型推論できな
ければ型を表示できません。
int のような単純(組み込み)型では、IDE