理論的な質問のみ - なぜ私はそのようなコードを書くことができないのですか:
auto auto foo = 0;
最初の auto キーワード - ストレージ クラス指定子 (C++11 では役に立たず非推奨であることはわかっています)、2 番目の auto キーワード - auto 型指定子。
では、何が問題なのですか?
繰り返しますが、これを実際のコードで使用したくありません。
ストレージ クラス指定子は、auto
「C++11 では役に立たず非推奨」ではなく、完全に削除されました。auto
キーワードはストレージ クラス指定子ではなくなり、ストレージ クラス指定子として使用できなくなりました。
C++11 ではauto
、単純な型指定子です。
.... auto の古い意味 (「これはローカル変数です」) は現在では違法です。委員会の何人かのメンバーは、数百万行のコードを探し回った結果、ほんの一握りの用途しか見つけられませんでした。それらのほとんどはテスト スイートに含まれているか、バグのように見えました。
これは、ストレージ指定子として「auto」を使用するコードがあまり使用されていないことを示しています。