freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

vc10_和_c0x_lambda_表達式(已修改)

2025-08-28 23:54 本頁面
 

【正文】 VC10和C++ 0x (1) lambda表達式C PLUS PLUS 20110114 14:15:00 閱讀84 評論0 字號:大中小訂閱 【本文大部分內(nèi)容譯自Visual C++ Team Blog】盡管C++社區(qū)對C++ 0x很是追捧,但是各廠商對于新標準的支持并不熱乎。盼星星盼月亮,微軟作為Windows平臺上最強勢的C++編譯器廠商也終于在Visual Studio 2010中開始支持C++ 0x的特性。Lambda表達式,auto 和靜態(tài)斷言(static_assert)Visual Studio 2010中的Visual C++編譯器,即VC10, 包含了4個C++ 0x的語言特性 lambda表達式,auto,static_assert 和 rvalue reference (右值引用).相關鏈接: C++0x language feature status: C++0x library feature status: C++0x Working Draft: lambdas使用過函數(shù)式編程語言(如lisp, F)或一些動態(tài)語言(如Python,Javascript)的大俠對于lambda表達式一定不會陌生。在C++ 0x中,引入了lambda表達式來定義無名仿函數(shù)。下面是一個lambda表達式的簡單例子:// File: include algorithminclude iostreaminclude ostreaminclude vectorusing namespace std。int main() { vectorint v。 for (int i = 0。 i 10。 ++i) { (i)。 } for_each((), (), [](int n) { cout n 。 })。 cout endl。 return 0。}C:\Tempcl /EHsc /nologo /W4 NUL amp。amp。 meow0 1 2 3 4 5 6 7 8 9for_each一行中,中括號[]稱為lambda introducer, 它告訴編譯器接下來的是一個lambda表達式;接下來(int n)是lambda表達式的參數(shù)聲明;最后大括號里邊就是“函數(shù)體”了。注意這里因為lambda表達式生成的是functor,所以“函數(shù)體”實際上是指這個functor的operator ()的調用部分。你也許會問:那么返回值呢?缺省情況下lambda表達式生成的functor調用返回類型為void。所以,可以理解為上邊的代碼會被編譯器翻譯成如下: include algorithminclude iostreaminclude ostreaminclude vectorusing namespace std。struct LambdaFunctor { void operator()(int n) const { cout n 。 }}。int main() { vectorint v。 for (int i = 0。 i 10。 ++i) { (i)。 } for_each((), (), LambdaFunctor())。 cout endl。 return 0。}為了方便,以下會用lambda返回void的簡短表述來代替冗長啰嗦的表述:lambda表達式生成一個functor類型,這個functor類型的函數(shù)調用操作符(operator())返回的類型是void.請大家一定記?。簂ambda表達式生成了類型,并構造該類型的實例。下面的例子中l(wèi)ambda表達式的“函數(shù)體”包含多條語句:include algorithminclude iostreaminclude ostreaminclude vectorusing namespace std。int main() { vectorint v。 for (int i = 0。 i 10。 ++i) { (i)。 } for_each((), (), [](int n) { cout n。 if (n % 2 == 0) { cout even 。 } else { cout odd 。 } })。 cout endl。 return 0。}上文提到了lambda表達式缺省情況下返回void. 那么如果需要返回其他類型呢?答案是:lambda表達式的“函數(shù)體”中如果有一個return的表達式,例如{ return expression。 },那么編譯器將自動推演expres
點擊復制文檔內(nèi)容
電大資料相關推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1