程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> 對VS2005 C++編譯器的一點體會

對VS2005 C++編譯器的一點體會

編輯:關於C++

使用了一段時間的 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 類型:

const BUFLEN=255;

但在新的編譯器中,這種隱式地將沒有類型聲明的常量指定為整型的語法將被禁止。必須向下面這樣聲明類型:

const int BUFLEN=255;

3、除此之外,在使用 Visual Studio 2005 編寫 MFC 程序時,還碰到一個小小的變化,那就是 CWnd::OnNcHitTest 的返回值原來為 UINT,現在變為 LRESULT。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved