C 開發在VS2010中易如反掌

2021-05-24 23:26:34 字數 1641 閱讀 5571

作為c++的主流開發工具visual studio來說,每一次公升級都沒有讓開發者失望,隨著visual studio平台越來越人性化,visual studio下的c++開發也同樣得到了開發者的認可,在目前已經推出的visual studio 2010版中有哪些功能又是c++開發者值得興奮的呢,visual studio 2010如何成為c++的開發利器讓我們來數一數2010版針對c++有哪些改進點。

新特性之一:lambda表示式。

很多程式設計程式語言都支援匿名函式(anonymous function)。所謂匿名函式,就是這個函式只有函式體,而沒有函式名。lambda表示式就是實現匿名函式的一種程式設計技巧,它為編寫匿名函式提供了簡明的函式式的句法。同樣是visual studio中的開發語言,visual basic和visual c#早就實現了對lambda表示式的支援,終於visual c++這次也不甘落後,在visual studio 2010中新增了對lambda表示式的支援。

通過以上兩段使用lambda表示式的語法和未使用lambda表示式的語法比較,我們不難發現,使用lambda表示式的語法相比起來更加簡潔,使用起來更加簡單高效。

新特性之二:靜態斷言static_assert

在新的c++標準c++0x中,加入了對靜態斷言的支援,引入了新的關鍵字static_assert來表示靜態斷言。使用靜態斷言,我們可以在程式的編譯時期檢測一些條件是否成立,這個特性在除錯模板函式的模板引數時特別有用。在編譯的時候,模板函式例項化,這時我們就可以使用靜態斷言去測試模板函式的引數是否按照我們的設計擁有合適的值。

此外,靜態斷言還帶來很多其他的優勢。例如靜態斷言在編譯時進行處理,不會產生任何執行時刻空間和時間上的開銷,這就使得它比assert巨集具有更好的效率。另外比較重要的乙個特性是如果斷言失敗,它會產生有意義且充分的診斷資訊,幫助程式設計師快速解決問題。

當我們在主函式中使用「1」去例項化kitten這個結構體時,在編譯的時候,靜態斷言static_assert會測試引數n的值,當n的值小於 2時就會產生乙個斷言錯誤,並將相應的除錯幫助資訊輸出到「error list」視窗中,這樣程式設計師就可以對問題快速定位,解決問題就更加方便了。

新特性之三:auto關鍵字

在c++0x中,auto關鍵字的意義發生了改變。從visual c++ 2010開始,auto關鍵字將用於指引編譯器根據變數的初始值來決定變數的資料型別。換句話說,我們可以把auto當成一種新的資料型別,它可以「從初始化器(initialize)中推導出所代表的變數的真正型別」。這種對auto關鍵字的使用方式可以大大消除當前替代方式所導致的冗長和易出錯的**。

在這段**中,我們使用auto關鍵字來代替了真正的資料型別map::iterator,這使得整個**自然而簡潔。這樣通過**的形式我們不難發現,visual studio 2010中auto關鍵字的使用能幫助開發者在開發時帶來不少的好處。

新特性之四:右值引用

作為最重要的一項語言特性,右值引用(rvalue references)被引入到 c++0x中。我們可以通過操作符「&&」來宣告乙個右值引用,原先在c++中使用「&」操作符宣告的引用現在被稱為左值引用。 左值引用和右值引用的表現行為基本一致,它們唯一的差別就是右值引用可以繫結到乙個臨時物件(右值)上,而左值引用不可以。如下例:

在第一行**中,我們看到當將乙個臨時物件int()繫結到乙個左值引用,這時就出現錯誤提示了,而在第二行中,改為右值引用,則不會出現錯誤情況。

vs2010開發linux平台C程式 開發環境配置

vim 其實配置為 ide搜尋了一下,這個方式的帖子不是很多,稍微花了點時間,摸索了下,還行,在vs2010 下編寫 到 ubuntu 下編譯,一切 ok!主機 win7 虛機 ubuntu12.04 va x setup1845 解壓 然後 只針對vs2010 將壓縮包內的 va x.dll 複製...

VS2010 中C 和C 顏色轉化

在.net 中,用c 開發時候用到了colorref 而在c 中沒有這個只要color,所以需要進行轉化 colorref型別顏色的值colorref cr rgb 123,200,12 其中的r g b三個分量的排列順序是bgr。net中通過資料型別color表示顏色,該類有乙個函式fromarg...

C 程式在VS2010中複製窗體

1 乙個窗體有三個檔案,全部拷貝到新的專案檔案目錄中 2 在新專案中新增現有項,然後把這個窗體相關的三個檔案都新增到新的專案中 4 開啟窗體 修改public partial class old form 中的old為新窗體類名new.重要 窗體初始化模組中的old也相應的修改為new public...