C++11 中為什麼是auto,而不是var?


因為auto本來就是關鍵字兒。

如果添加var為新的關鍵字,那麼之前寫的程序里如果有int var;類似的東西,就不能再被編譯了。

所以重用一個本來就有的關鍵字兒,挺好。


因為 auto 在C++ 代碼裡面用得很少,用它來做關鍵字,舊代碼不會衝突


#include &
using namespace std;

#define var auto
#define function(arg...) [](arg)

class SampleTest
{
public:
void action(){
cout &<&<"sample Test action"&<&

像上面那麼寫,看起來很爽是吧,重構的時候更爽。


auto 是原有關鍵字

var 以前不是關鍵字.

不引入新的關鍵字能讓標準版本升級過程中代碼改動盡量少


感覺用 var 就俗了一點點。


var更多用在無類型或解釋型語言中,auto的類型識別僅僅是交給了編譯器而已,是發生在編譯階段,而不是運行階段。


兼容c


推薦閱讀:

為什麼大家都很否定中文編程?
Rust 和 Go 的並發模型有什麼不同,為什說 Rust 的並發模型更好 ?(1.0已沒有內建模型?
為什麼微軟的編程語言C# F#的編譯器要那麼多黑科技?
微軟蘇州Bing可以接觸要哪些技術?編程語言是不是以C#為主,可以自己選擇嗎?
HTML5 是一門編程語言嗎?

TAG:編程語言 | C | C# | C11 |