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

C++中按引用傳遞參數(shù)的好處有哪些

 更新時(shí)間:2024年01月01日 09:58:26   作者:doubleslow;  
這篇文章主要介紹了C++中按引用傳遞參數(shù)的好處有哪些,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

C++按引用傳遞參數(shù)的好處

pass by reference

對(duì)于數(shù)組和結(jié)構(gòu)這種大的數(shù)據(jù),按值傳遞(pass by value)需要?jiǎng)?chuàng)建副本,占內(nèi)存費(fèi)時(shí)間,使用引用就只傳地址,和按指針傳遞一樣,但是使用起來(lái)又比指針簡(jiǎn)單安全,就是在使用原數(shù)據(jù)。

對(duì)于unique_ptr智能指針模板類,它只允許源指針是臨時(shí)右值時(shí)候的賦值,所以如果實(shí)參不是臨時(shí)右值,按值傳遞就會(huì)成為非法賦值,編譯器報(bào)錯(cuò)。

示例

#include <iostream>
#include <string>
#include <memory>
#include <vector>
#include <algorithm> //for_each函數(shù)
using std::string;
using std::cout;
using std::cin;
using std::endl;
std::unique_ptr<int> make_int(int n)
{
	return std::unique_ptr<int> (new int(n));//返回int的智能指針,用傳入的參數(shù)n初始化
}
void show(std::unique_ptr<int>  & a)//這里必須按引用傳遞,因?yàn)槿绻粗祩鬟f
//那么就要用一個(gè)非臨時(shí)右值作為a的實(shí)參,對(duì)于unique_ptr類是不允許的
{
	cout << *a << ' ';
}
int main()
{
	int size = 5;
	std::vector<std::unique_ptr<int>> vp(size);
	for (int i=0;i<size;++i)
		vp[i] = make_int(rand() % 1000);
	vp.push_back(make_int(rand() % 1000));//可以調(diào)用成功是因?yàn)閰?shù)是一個(gè)臨時(shí)右值
	for_each(vp.begin(), vp.end(), show);
	return 0;
}

41 467 334 500 169 724
Process returned 0 (0x0)   execution time : 0.329 s
Press any key to continue.

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • C語(yǔ)言的字符空間與非字符空間你了解嗎

    C語(yǔ)言的字符空間與非字符空間你了解嗎

    這篇文章主要介紹了C語(yǔ)言的字符空間與非字符空間,本文給大家介紹的非常詳細(xì),具有參考借鑒價(jià)值,需要的朋友可以參考下,希望能給你帶來(lái)幫助
    2021-08-08
  • 利用Matlab復(fù)刻掃雷小游戲

    利用Matlab復(fù)刻掃雷小游戲

    windows自帶的游戲《掃雷》是陪伴了無(wú)數(shù)人的經(jīng)典游戲,本程序參考《掃雷》的規(guī)則進(jìn)行了簡(jiǎn)化,用Matlab實(shí)現(xiàn),感興趣的小伙伴可以學(xué)習(xí)一下
    2022-03-03
  • C語(yǔ)言實(shí)戰(zhàn)之紙牌游戲

    C語(yǔ)言實(shí)戰(zhàn)之紙牌游戲

    這篇文章主要為大家介紹了通過(guò)C語(yǔ)言實(shí)現(xiàn)的紙牌游戲的示例代碼,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)C語(yǔ)言有一定的幫助,感興趣的小伙伴可以跟隨小編學(xué)習(xí)一下
    2021-12-12
  • C語(yǔ)言編程數(shù)據(jù)在內(nèi)存中的存儲(chǔ)詳解

    C語(yǔ)言編程數(shù)據(jù)在內(nèi)存中的存儲(chǔ)詳解

    本篇文章是C語(yǔ)言編程篇,主要為大家介紹C語(yǔ)言編程中數(shù)據(jù)在內(nèi)存中存儲(chǔ)解析,有需要的朋友可以借鑒參考下,希望可以有所幫助
    2021-09-09
  • 解決C語(yǔ)言中使用scanf連續(xù)輸入兩個(gè)字符類型的問(wèn)題

    解決C語(yǔ)言中使用scanf連續(xù)輸入兩個(gè)字符類型的問(wèn)題

    這篇文章主要介紹了解決C語(yǔ)言中使用scanf連續(xù)輸入兩個(gè)字符類型的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-12-12
  • C++基于EasyX實(shí)現(xiàn)簡(jiǎn)單掃雷游戲

    C++基于EasyX實(shí)現(xiàn)簡(jiǎn)單掃雷游戲

    這篇文章主要為大家詳細(xì)介紹了C++基于EasyX實(shí)現(xiàn)簡(jiǎn)單掃雷游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • C++實(shí)現(xiàn)寢室衛(wèi)生管理系統(tǒng)

    C++實(shí)現(xiàn)寢室衛(wèi)生管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)寢室衛(wèi)生管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 詳解C++如何高效利用CPU緩存

    詳解C++如何高效利用CPU緩存

    高效利用CPU緩存是編寫高性能C++代碼的關(guān)鍵之一,所以這篇文章小編主要來(lái)和大家介紹一下C++如何實(shí)現(xiàn)高效利用CPU緩存,需要的可以參考一下
    2024-02-02
  • QT+OpenGL實(shí)現(xiàn)簡(jiǎn)單圖形的繪制

    QT+OpenGL實(shí)現(xiàn)簡(jiǎn)單圖形的繪制

    這篇文章主要為大家詳細(xì)介紹了如何利用QT和OpenGL實(shí)現(xiàn)簡(jiǎn)單圖形的繪制,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的可以參考一下
    2022-12-12
  • Qt中QHostInfo::lookupHost()函數(shù)的方法示例

    Qt中QHostInfo::lookupHost()函數(shù)的方法示例

    QHostInfo::lookupHost()是Qt網(wǎng)絡(luò)模塊提供的異步主機(jī)信息查詢接口,用于根據(jù)主機(jī)名或IP字符串查詢對(duì)應(yīng)的主機(jī)信息,下面就來(lái)詳細(xì)的介紹一下該函數(shù),感興趣的可以了解一下
    2025-12-12

最新評(píng)論

鄢陵县| 洛隆县| 伊吾县| 伊吾县| 新乐市| 峨边| 元江| 海盐县| 恭城| 祁连县| 习水县| 师宗县| 淮滨县| 和田市| 靖江市| 抚州市| 深泽县| 怀宁县| 郁南县| 邢台县| 隆林| 白河县| 聊城市| 民和| 宾阳县| 临海市| 滨州市| 若羌县| 乐亭县| 葫芦岛市| 沁阳市| 通城县| 汽车| 扎囊县| 林周县| 张北县| 普格县| 沂南县| 乌苏市| 牟定县| 乌鲁木齐县|