私は最近auto、C ++ 11で、コンパイラが型を推測する必要のある変数をマークするためにキーワードを選択した理由を疑問に思いました。
auto x = 1;
以来
var他のプログラミング言語(C#、Scala、JavaScriptなど)でより一般的なようです。autoブレークの下位互換性の新しいセマンティクスを理解している限り(これはめったに使用されませんでしたが、C ++の以前のリビジョンでは異なる意味を持ちました。たとえばここを参照)
選択する特別な理由があるかどうかauto(var他のキーワードが有利かどうか)を尋ねたかったのです。C ++ 11標準がリリースされる前に、この問題について具体的な議論はありましたか?
また、レガシーC ++コードをC ++ 11コンパイラで再コンパイルするときに注意すべき非互換性はありますか?
auto対varの質問は、あなたのテキストの90%は何を意味しており、その質問には、決定的な結果を持っていません。(私は近くに投票したものではないんだけれども)
autovarC#で導入される前にC ++向けに提案されたため、C#がautoを使用しない理由は疑問です。varはJavaScriptとScalaで異なる意味を持っています
auto後方互換性を破壊する可能性がありますが、11より前のコードでキーワードが使用されるvar頻度と比較して変数名として使用される頻度に応じてauto、委員会は、新しいものを導入するより劇的に互換性を破壊しないと意見を述べたかもしれませんキーワードだろう。