for循環的新用法和auto關鍵字
阿新 • • 發佈:2019-02-03
需要 color 一次 最適 spa style 類型 引用 bsp
int main(){ Int var = 10; for(int x : var){ Cout << var <<endl; } Return 0; }
for循環的另一種寫法,在這裏記錄一下。但這裏還有一點可以優化的地方,循環中的int x是一個臨時變量,在每一次循環中,var都會給x重新復制,也就需要重新開辟一個空間存放var的值。如果這個臨時變量存放在棧區,函數執行結束由系統回收的話,for循環的空間復雜度就是O(n)。可使用如下方式:
int main(){ Int var = 10; for(int &x : var){ Cout << var <<endl; } Return 0; }
使用引用,既每次給var重新起一個別名,它們使用的是同一塊內存空間,每次不再重新申請內存空間,空間復雜度就降到了O(1)。
auto:auto關鍵字也是c++11新引入的關鍵字,它的作用是:自動推斷出變量的類型,不過還沒發現最適用於什麽地方,以後發現了,再回來完善吧。所以,上面的程序還可以改寫成為:
int main(){ Int var = 10; for(auto &x : var){ Cout<< var <<endl; } Return 0; }
for循環的新用法和auto關鍵字