auto
は、コンパイル時に変数の型を自動的に推定するために使用されるC++ のキーワードです。キーワードを使用するとauto
、コンパイラは初期化式に基づいて変数の型を決定できるため、型を明示的に指定する手順が不要になります。
auto
キーワードを使用して宣言された変数は、コンパイラが初期化式を通じて変数の型を推測できるように、定義時に初期化する必要があります。例えば:
auto x = 42; // 推导为int型
auto str = "hello"; // 推导为const char*型
auto
このキーワードを参照やポインタと組み合わせて使用して、参照やポインタの種類を推測することもできます。例えば:
int num = 10;
auto& ref = num; // 推导为int&型,ref是num的引用
auto* ptr = # // 推导为int*型,ptr指向num的地址
なお、auto
完全な動的型ではなく、コンパイル時に静的に特定の型として決定され、一度決定すると変更することはできません。したがって、auto
実行時のポリモーフィズムや複雑な型の推論が必要な状況には適していません。同時に、型を明示的に指定するとコードが明確になり読みやすくなる可能性があるため、読みやすさの点でも注意して使用する必要があります。