auto
読み:オート
外語:auto
C/C++の予約語の一つ。
概要
autoは英語で「自動」を意味する。
何らかについて、自動であることを指定するのに用いられる。
特徴
C/C++
変数の記憶クラスが自動であることを示す予約語。
すなわち、auto変数はスコープに入ったときに自動的にスタック上に生成され、スコープから外れると自動的に占めていたメモリーが解放される。
トップレベルの変数はどこからでも見えるグローバル変数かファイルローカル(static宣言した場合)のいずれかであり、ローカル変数は何も指定しなければauto変数になるので、通常はautoを明記する機会はない。そもそも、これが予約語だということを知らないC/C++プログラマーも少なくない。
この用途で使われる例が皆無だったため、C++11ではこの機能は廃止され、別の目的でautoが使用されることになった。
C++11
C++11では、記憶クラス指定子としての用法は廃止された。
- 変数宣言で型推論の指定
- ラムダ関数を参照する変数の指定
- conceptに対する修飾
記憶クラス指定子としては使われないが、auto変数はC++11でもauto変数のままである。
再検索