2012-03-28 4 views

答えて

0

自動は実際には暗黙的ですが、実際のコードで明示的に使用されることはほとんどないため、その意味はC++ 11で変更されています。

自動では自動保存が指定されています。これは、変数が範囲外になると変数が消えることを意味します。

0

C (自動変数と呼ば)

コードのブロック内で宣言されているすべての変数は、デフォルトで自動的に行われますが、これはautoキーワードで明示的に行うことができます。

初期化されていない自動変数には、その型の有効な値が割り当てられるまで、未定義の値があります。 自動の代わりにストレージクラスレジスタを使用することは、変数をプロセッサレジスタにキャッシュするためのヒントです。

参照演算子(&)を変数またはそのサブコンポーネントで使用できないこと以外は、コンパイラは自由にヒントを無視します。 C++では、実行が宣言の場所に達すると、自動変数のコンストラクタが呼び出されます。

デストラクタは、指定されたプログラムブロックの最後に到達すると呼び出されます(プログラムブロックは中括弧で囲まれています)。

この機能は、ファイルを開いてから自動的にファイルを閉じたり、メモリを解放したりするなど、リソースの割り当てと割り当て解除を管理するためによく使用されます。 RAIIを参照してください。

+0

これは完全に正確ではなくなりました。 'auto'は型推論を指定します。 –