ストレージ クラス識別子 auto の使用例?すべてのローカル変数がデフォルトで auto であることは理解しています。しかし、明示的に auto int a を書くことで違いが生じるのは何ですか?
9606 次
4 に答える
11
厳密には違いはありません。
{
auto int a;
/* ... */
}
と
{
int a;
/* ... */
}
同等です。
auto
一般的な方法は、指定子を入れないことです。
于 2013-03-29T14:58:51.493 に答える
2
次の 2 つのケースが考えられます。
auto
がデフォルトであり、キーワードを明示的に追加しても何も達成されませんauto
は許可されていません (たとえば、グローバル変数で)。この場合、追加auto
するとコードのコンパイルが妨げられます。
于 2013-03-29T15:01:36.670 に答える
2
現代の C (C89、C99、C11) では、auto
キーワードは冗長です。意図を明示的にする (「これは非静的変数であり、私はそれを意味します!」) 以外に、それはもはや何の目的も果たしません。これは C の歴史の名残りであり、B から引き継がれていますが、entry
キーワードが実質的に時代遅れになっているのと同じです。
人生で一度利用しました。これは、暗黙的な int と組み合わせて IOCCC エントリにありました。
drive () { auto motive; ... }
于 2013-03-29T15:13:37.483 に答える