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

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

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

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

pass by reference

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

對于unique_ptr智能指針模板類,它只允許源指針是臨時右值時候的賦值,所以如果實參不是臨時右值,按值傳遞就會成為非法賦值,編譯器報錯。

示例

#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)//這里必須按引用傳遞,因為如果按值傳遞
//那么就要用一個非臨時右值作為a的實參,對于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)用成功是因為參數(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é)

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

相關(guān)文章

  • C語言的字符空間與非字符空間你了解嗎

    C語言的字符空間與非字符空間你了解嗎

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

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

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

    C語言實戰(zhàn)之紙牌游戲

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新評論

台北县| 高邮市| 怀仁县| 灌南县| 库尔勒市| 德化县| 青神县| 呈贡县| 轮台县| 辛集市| 山西省| 临海市| 崇仁县| 邓州市| 竹溪县| 大埔县| 安乡县| 乐安县| 景德镇市| 朝阳县| 宜良县| 通化县| 合水县| 望江县| 忻州市| 临洮县| 七台河市| 都江堰市| 田阳县| 于都县| 冕宁县| 东乌珠穆沁旗| 凤庆县| 兴和县| 罗田县| 龙江县| 石景山区| 上犹县| 团风县| 云南省| 高台县|