中文字幕二区_国产精品免费在线观看_黄色网站观看_人人草人人澡_日本真实娇小xxxx

您的位置: 首頁 > 計算機技術(shù) > 應(yīng)用程序 > VS 2010 C++的未來:0x 的新特性
Visual Studio 2010特性支持Office 回到列表 VS 2010 Beta 2功能搶先看
 VS 2010 C++的未來:0x 的新特性

作者:microsoft 時間: 2009-10-30 文檔類型:原創(chuàng) 來自:藍(lán)色理想

第 1 頁 VS 2010 C++的未來:0x 的新特性 [1]
第 2 頁 VS 2010 C++的未來:0x 的新特性 [2]
第 3 頁 VS 2010 C++的未來:0x 的新特性 [3]
第 4 頁 VS 2010 C++的未來:0x 的新特性 [4]

右值引用

作為最重要的一項語言特性,右值引用(rvalue references)被引入到 C++0x中。我們可以通過操作符“&&”來聲明一個右值引用,原先在C++中使用“&”操作符聲明的引用現(xiàn)在被稱為左值引用。

int a;
int& a_lvref = a;  // 左值引用

int b;
int&& b_rvref = b;  // 右值應(yīng)

用左值引用和右值引用的表現(xiàn)行為基本一致,它們唯一的差別就是右值引用可以綁定到一個臨時對象(右值)上,而左值引用不可以。例如:

int& a_lvref = int();      // error C2440: 'initializing' : cannot convert from 'int' to 'int &'   
int&& b_rvref = int();  // OK!

在第一行代碼中,我們將一個臨時對象int()綁定到一個左值引用,將產(chǎn)生一個編譯錯誤。而在第二行中,我們將臨時對象綁定到右值引用,就可以順利通過編譯。

右值是無名的數(shù)據(jù),例如函數(shù)的返回值一般說來就是右值。當(dāng)對右值進(jìn)行操作的時候,右值本身往往沒有必要保留,因此在某些情況下可以直接“移動”之。通過右值引用,程序可以明確的區(qū)分出傳入的參數(shù)是否為右值,從而避免了不必要的拷貝,程序的效率也就得到了提高。我們考慮一個簡單的數(shù)據(jù)交換的小程序,從中來體會右值引用所帶來的效率提升。我們可以寫一個函數(shù)swap來實現(xiàn)兩個變量值的交換:

template <class T> swap(T& a, T& b)
{
    T tmp(a);   // tmp對象創(chuàng)建后,我們就擁有了a的兩份拷貝
    a = b;      // 現(xiàn)在我們擁有b的兩份拷貝
    b = tmp;    // 現(xiàn)在我們擁有a的兩份拷貝
}

在這段代碼中,雖然我們只是為了進(jìn)行簡單的數(shù)據(jù)交換,但是卻執(zhí)行了多次對象拷貝。這些對象的拷貝操作,特別是當(dāng)這些對象比較大的時候,無疑會影響程序的效率。

那么,如果使用右值引用如何實現(xiàn)呢?

// RValueRef.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"

template <class T>
T&& move(T&& a)
{
    return a;
}

template <class T> void swap(T& a, T& b)
{
    T tmp(move(a)); // 對象a被移動到對象tmp,a被清空
    a = move(b);    // 對象b被移動到對象a,b被清空
    b = move(tmp);  // 對象tmp被移動到對象b
}

int _tmain(int argc, _TCHAR* argv[])
{
    int a = 1;
    int b = 2;
    swap(a, b);

   return 0;
}

在這段重新實現(xiàn)的代碼中,我們使用了一個move()函數(shù)來代替對象的賦值操作符“=”,move()只是簡單地接受一個右值引用或者左值引用作為參數(shù),然后直接返回相應(yīng)對象的右值引用。這一過程不會產(chǎn)生拷貝(Copy)操作,而只會將源對象移動(Move)到目標(biāo)對象。

正是拷貝(Copy)和移動(Move)的差別,使得右值引用成為C++0x中最激動人心的新特性之一。從實踐角度講,它能夠完美是解決C++中長久以來為人所詬病的臨時對象的效率問題。從語言本身講,它健全了C++中的引用類型在左值右值方面的缺陷。從庫設(shè)計者的角度講,它給庫設(shè)計者又帶來了一把利器。而對于廣大的庫使用者而言,不動一兵一卒便能夠獲得“免費的”效率提升。

在Visual Studio 2010中,因為有了對這些C++0x新特性的支持,重新點燃了程序員們對C++的熱情。C++重振雄風(fēng),指日可待!

本文鏈接:http://m.95time.cn/computer/soft/2009/7138.asp 

出處:藍(lán)色理想
責(zé)任編輯:bluehearts

上一頁 VS 2010 C++的未來:0x 的新特性 [3] 下一頁

◎進(jìn)入論壇計算機技術(shù)版塊參加討論

相關(guān)文章 更多相關(guān)鏈接
Visual Studio 2010特性支持Office
Visual Studio 2010中的新語言
Visual Studio 2010 的新功能
微軟宣布下一代開發(fā)工具和平臺
Visual Studio 2010的用戶反饋
作者文章 更多作者文章
Visual Studio 2010特性支持Office
VS 2010 Beta 2功能搶先看
Visual Studio 2010中的新語言
Visual Studio 2010 的新功能
微軟宣布下一代開發(fā)工具和平臺
關(guān)鍵字搜索 常規(guī)搜索 推薦文檔
熱門搜索:CSS Fireworks 設(shè)計比賽 網(wǎng)頁制作 web標(biāo)準(zhǔn) 用戶體驗 UE photoshop Dreamweaver Studio8 Flash 手繪 CG
站點最新 站點最新列表
周大福“敬•自然”設(shè)計大賽開啟
國際體驗設(shè)計大會7月將在京舉行
中國國防科技信息中心標(biāo)志征集
云計算如何讓安全問題可控
云計算是多數(shù)企業(yè)唯一擁抱互聯(lián)網(wǎng)的機會
阿里行云
云手機年終巨獻(xiàn),送禮標(biāo)配299起
阿里巴巴CTO王堅的"云和互聯(lián)網(wǎng)觀"
1499元買真八核 云OS雙蛋大促
首屆COCO桌面手機主題設(shè)計大賽
欄目最新 欄目最新列表
Windows7優(yōu)化調(diào)整實用小技巧十則
關(guān)于國內(nèi)Windows 7下載的一些提醒
Windows 7安全模式下修復(fù)系統(tǒng)故障
如何防止電腦被黑客入侵
syssafe病毒抗?fàn)幱?/A>
淺談手工殺毒
L2TP預(yù)共享密鑰解決內(nèi)網(wǎng)VPN連接問題
淺談移動硬盤的數(shù)據(jù)安全問題
Windows組策略之軟件限制策略
特殊文件防止閃存為電腦帶來病毒
>> 分頁 首頁 前頁 后頁 尾頁 頁次:4/41個記錄/頁 轉(zhuǎn)到 頁 共4個記錄

藍(lán)色理想版權(quán)申明:除部分特別聲明不要轉(zhuǎn)載,或者授權(quán)我站獨家播發(fā)的文章外,大家可以自由轉(zhuǎn)載我站點的原創(chuàng)文章,但原作者和來自我站的鏈接必須保留(非我站原創(chuàng)的,按照原來自一節(jié),自行鏈接)。文章版權(quán)歸我站和作者共有。

轉(zhuǎn)載要求:轉(zhuǎn)載之圖片、文件,鏈接請不要盜鏈到本站,且不準(zhǔn)打上各自站點的水印,亦不能抹去我站點水印。

特別注意:本站所提供的攝影照片,插畫,設(shè)計作品,如需使用,請與原作者聯(lián)系,版權(quán)歸原作者所有,文章若有侵犯作者版權(quán),請與我們聯(lián)系,我們將立即刪除修改。

您的評論
用戶名:  口令:
說明:輸入正確的用戶名和密碼才能參與評論。如果您不是本站會員,你可以注冊 為本站會員。
注意:文章中的鏈接、內(nèi)容等需要修改的錯誤,請用報告錯誤,以利文檔及時修改。
不評分 1 2 3 4 5
注意:請不要在評論中含與內(nèi)容無關(guān)的廣告鏈接,違者封ID
請您注意:
·不良評論請用報告管理員,以利管理員及時刪除。
·尊重網(wǎng)上道德,遵守中華人民共和國的各項有關(guān)法律法規(guī)
·承擔(dān)一切因您的行為而直接或間接導(dǎo)致的民事或刑事法律責(zé)任
·本站評論管理人員有權(quán)保留或刪除其管轄評論中的任意內(nèi)容
·您在本站發(fā)表的作品,本站有權(quán)在網(wǎng)站內(nèi)轉(zhuǎn)載或引用
·參與本評論即表明您已經(jīng)閱讀并接受上述條款
推薦文檔 | 打印文檔 | 評論文檔 | 報告錯誤  
專業(yè)書推薦 更多內(nèi)容
網(wǎng)站可用性測試及優(yōu)化指南
《寫給大家看的色彩書1》
《跟我去香港》
眾妙之門—網(wǎng)站UI 設(shè)計之道
《Flex 4.0 RIA開發(fā)寶典》
《贏在設(shè)計》
犀利開發(fā)—jQuery內(nèi)核詳解與實踐
作品集 更多內(nèi)容

雜⑦雜⑧ Gold NORMANA V2