最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++中如何使用引用避免內(nèi)存復(fù)制

 更新時(shí)間:2023年10月09日 11:24:30   作者:圖靈,圖靈,圖個(gè)機(jī)靈  
C++引用是一種強(qiáng)大的工具,可以避免在函數(shù)調(diào)用過(guò)程中發(fā)生的常見(jiàn)內(nèi)存復(fù)制問(wèn)題,本文主要介紹了C++中如何使用引用避免內(nèi)存復(fù)制,感興趣的可以了解一下

引用讓您能夠訪問(wèn)相應(yīng)變量所在的內(nèi)存單元,這使得編寫(xiě)函數(shù)時(shí)引用很有用。典型的函數(shù)聲明類似于下面這樣:

ReturnType DoSomething(Type parameter);

調(diào)用函數(shù) DoSomething() 的代碼類似于下面這樣:

ReturnType Result = DoSomething(argument); // function call

上述代碼導(dǎo)致將 argument 的值復(fù)制給 Parameter,再被函數(shù) DoSomething() 使用。如果 argument 占用了大量?jī)?nèi)存,這個(gè)復(fù)制步驟的開(kāi)銷將很大。同樣,當(dāng) DoSomething() 返回值時(shí),這個(gè)值被復(fù)制給 Result。如果能避免這些復(fù)制步驟,讓函數(shù)直接使用調(diào)用者棧中的數(shù)據(jù)就太好了。為此,可使用引用。
可避免復(fù)制步驟的函數(shù)版本類似于下面這樣:

ReturnType DoSomething(Type& parameter); // note the reference&

調(diào)用該函數(shù)的代碼類似于下面這樣:

ReturnType Result = DoSomething(argument);

由于 argument 是按引用傳遞的, Parameter 不再是 argument 的拷貝,而是它的別名。另外,接受引用參數(shù)的函數(shù)可使用這些參數(shù)返回值,如下面示例程序所示:

#include <iostream>
using namespace std;
void GetSquare(int& number)
{
    number *= number;
}
int main()
{
    cout << "Enter a number you wish to square: ";
    int number = 0;
    cin >> number;
    GetSquare(number);
    cout << "Square is: " << number << endl;
    return 0;
}

輸出:

Enter a number you wish to square: 5
Square is: 25

分析:

計(jì)算平方的函數(shù)位于第 3~6 行。它通過(guò)引用參數(shù)接受一個(gè)要計(jì)算其平方的數(shù)字,并通過(guò)該參數(shù)返回結(jié)果。如果忘記將參數(shù) number 聲明為引用( &), 結(jié)果將無(wú)法返回到調(diào)用函數(shù) main(), 因?yàn)?nbsp;GetSquare() 將使用 number 的本地拷貝執(zhí)行運(yùn)算, 而函數(shù)結(jié)束時(shí)該拷貝將被銷毀。通過(guò)使用引用, 可確保 GetSquare() 對(duì) main() 中定義的 number 所在的內(nèi)存單元進(jìn)行操作。這樣,函數(shù) GetSquare() 執(zhí)行完畢后,也可以在 main() 中使用運(yùn)算結(jié)果。

在這個(gè)示例中,修改了輸入?yún)?shù)。如果要保留這兩個(gè)值—傳入的數(shù)字及其平方,可讓函數(shù)接受兩個(gè)參數(shù):一個(gè)包含輸入;另一個(gè)提供平方值。

到此這篇關(guān)于C++中如何使用引用避免內(nèi)存復(fù)制的文章就介紹到這了,更多相關(guān)C++ 引用避免內(nèi)存復(fù)制內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • c/c++ 函數(shù)返回指針和引用所引發(fā)的問(wèn)題

    c/c++ 函數(shù)返回指針和引用所引發(fā)的問(wèn)題

    本文主要介紹了c/c++ 函數(shù)返回指針和引用所引發(fā)的問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2026-05-05
  • C語(yǔ)言深入探索浮點(diǎn)數(shù)的使用秘密

    C語(yǔ)言深入探索浮點(diǎn)數(shù)的使用秘密

    在C語(yǔ)言中,浮點(diǎn)數(shù)是一個(gè)很重要的類型,浮點(diǎn)數(shù)可以使數(shù)據(jù)更為精確。浮點(diǎn)數(shù)說(shuō)白了就是帶有小數(shù)點(diǎn)的數(shù)。比如1.6?0.0000?765.2等等,浮點(diǎn)數(shù)具體是怎么用的呢,讓我們一起來(lái)看看
    2022-04-04
  • C++三體星戰(zhàn)小游戲源代碼

    C++三體星戰(zhàn)小游戲源代碼

    這篇文章主要給大家介紹了關(guān)于C++三體星戰(zhàn)小游戲的相關(guān)資料,文中給出了詳細(xì)完整的代碼示例,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-08-08
  • 一文帶你了解C++中deque的使用

    一文帶你了解C++中deque的使用

    C++中的deque是一種雙端隊(duì)列,可以在隊(duì)列的前端和后端進(jìn)行插入元素和刪除操作,同時(shí)可以視作一個(gè)長(zhǎng)度不定的數(shù)組,支持高效的插入和刪除操作。本篇文章將深入探討C++中的deque的使用,感興趣的可以了解一下
    2023-05-05
  • C語(yǔ)言實(shí)現(xiàn)動(dòng)態(tài)版通訊錄的示例代碼

    C語(yǔ)言實(shí)現(xiàn)動(dòng)態(tài)版通訊錄的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何利用C語(yǔ)言實(shí)現(xiàn)一個(gè)簡(jiǎn)單的動(dòng)態(tài)版通訊錄,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)C語(yǔ)言有一定幫助,需要的可以參考一下
    2022-08-08
  • C語(yǔ)言詳細(xì)分析講解多文件的程序設(shè)計(jì)

    C語(yǔ)言詳細(xì)分析講解多文件的程序設(shè)計(jì)

    所謂的C語(yǔ)言多文件編程就是,將代碼實(shí)現(xiàn)模塊化。比如說(shuō)一個(gè)項(xiàng)目的一項(xiàng)功能放在一個(gè)一個(gè)文件里,然后將實(shí)現(xiàn)這個(gè)功能的函數(shù)放在一個(gè)c文件<BR>
    2022-04-04
  • C++中opencv4.1.0環(huán)境配置的詳細(xì)過(guò)程

    C++中opencv4.1.0環(huán)境配置的詳細(xì)過(guò)程

    這篇文章主要介紹了C++中opencv4.1.0環(huán)境配置的詳細(xì)過(guò)程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-10-10
  • 模擬鼠標(biāo)事件的實(shí)現(xiàn)思路及代碼

    模擬鼠標(biāo)事件的實(shí)現(xiàn)思路及代碼

    這篇文章主要介紹了模擬鼠標(biāo)事件的實(shí)現(xiàn)思路及代碼,有需要的朋友可以參考一下
    2013-12-12
  • C語(yǔ)言中cJSON的使用

    C語(yǔ)言中cJSON的使用

    JSON是一種輕量級(jí)的數(shù)據(jù)交換格式,常用于在網(wǎng)絡(luò)之間傳輸數(shù)據(jù),本文主要介紹了C語(yǔ)言中cJSON的使用,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-04-04
  • error LNK2019: 無(wú)法解析的外部符號(hào) 問(wèn)題的解決辦法

    error LNK2019: 無(wú)法解析的外部符號(hào) 問(wèn)題的解決辦法

    error LNK2019: 無(wú)法解析的外部符號(hào) 問(wèn)題的解決辦法,需要的朋友可以參考一下
    2013-05-05

最新評(píng)論

古蔺县| 体育| 罗定市| 松原市| 宜春市| 兴业县| 澄江县| 湘潭县| 三明市| 浑源县| 交城县| 府谷县| 民乐县| 安义县| 墨玉县| 紫金县| 达尔| 烟台市| 泽库县| 黎川县| 宽甸| 阜阳市| 绥棱县| 万山特区| 苍山县| 彭州市| 雷波县| 珲春市| 遂平县| 重庆市| 柞水县| 丹凤县| 增城市| 澄迈县| 阿拉善右旗| 开江县| 精河县| 张家口市| 大田县| 古浪县| 沛县|