使用了一段時間的 Visual Studio 2005 之后,發現它的 C++ 編譯器比以往更多地遵循 C++ 標準。給我印象比較深的語法變化有兩個:
1、for 循環語句中循環控制變量的有效范圍更加明確
以前我們在for語句中可以這么寫:
for (int i=0; i<max; i++) { // do something } if (i>0) { // do something else } 這段代碼中 i 是循環控制變量,循環處理完之后,在循環語句之外,i 還是一個有效變量,可以在后面的代碼中繼續使用它。
在正式的 C++ 標準中,這是不答應的。
使用新的編譯器編譯原有的代碼時,必須作類似下面這樣的修改:
int i; // move outside for loop for (i=0; i<max; i++) { // do something } if (i>0) { // do something else } 2、關于常量的類型定義更加嚴格了,對于下面這樣的常量定義,以前編譯器會將之默認為 int 類型: