5

理論的な質問のみ - なぜ私はそのようなコードを書くことができないのですか:

auto auto foo = 0;

最初の auto キーワード - ストレージ クラス指定子 (C++11 では役に立たず非推奨であることはわかっています)、2 番目の auto キーワード - auto 型指定子。

では、何が問題なのですか?

繰り返しますが、これを実際のコードで使用したくありません。

4

2 に答える 2

20

ストレージ クラス指定子は、auto「C++11 では役に立たず非推奨」ではなく、完全に削除されました。autoキーワードはストレージ クラス指定子ではなくなり、ストレージ クラス指定子として使用できなくなりました。

C++11 ではauto、単純な型指定子です。

于 2012-08-29T17:55:01.767 に答える
3

Stroustrup の FAQから:

.... auto の古い意味 (「これはローカル変数です」) は現在では違法です。委員会の何人かのメンバーは、数百万行のコードを探し回った結果、ほんの一握りの用途しか見つけられませんでした。それらのほとんどはテスト スイートに含まれているか、バグのように見えました。

これは、ストレージ指定子として「auto」を使用するコードがあまり使用されていないことを示しています。

于 2012-08-29T18:04:19.377 に答える