C 變數 型別推斷

2021-10-04 22:57:40 字數 450 閱讀 4821

宣告變數的語法有些變化:使用var關鍵字代替實際的型別。

編譯器可以根據變數的初始化值 「推斷」 出變數的型別。 

例如:

var score = 0;
編譯器會將它變成 

int score = 0;
即使 score 從來沒有宣告 int, 編譯器也可以確定。編譯後上面的2個語句是等價的。

static void main()

// 程式輸出:

// name is type = system.string

// age is type = system.int32

// isplay is type = system.bool

需要遵循一些規則:

宣告了變數,推斷出了型別後, 就不能改變變數的型別了。

本地變數 全域性變數 型別推斷var

與c 不同,c 在型別的外部不能宣告全域性變數,所有欄位都屬於型別,而且必須在型別宣告內部宣告,同理也沒有全域性函式,c 中方法沒有預設返回型別,所有方法必須包含返回型別或void。在c 中,可以宣告乙個本地變數,然後在巢狀塊中宣告另乙個相同名稱的本地變數,在內部範圍,內部名稱掩蓋了外部名稱,然而在...

C 模板推斷函式型別

借助模板特例化和偏特化可以完成函式返回型別 輸入引數型別的推斷。我們直接步入主題 首先預熱編譯器對偏特化的型別匹配。c 模板庫中,std is same可判斷兩個型別是否相同,這裡我們可以借助偏特化自己實現乙個is same模板 templateclass is same template 偏特化 ...

型別推斷 var

型別推斷 type inference 使用 var 關鍵字。編譯器可以根據變數的初始化值 推斷 變數的型別。例如 int number 0 就可以寫成 var number 0 編譯器可以 推斷 出變數number為int型別。上面兩個語句是等價的。var name bu iancai var a...