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

C++中的引用與高級函數(shù)詳解

 更新時(shí)間:2023年07月15日 10:05:51   作者:Wei&Yan  
這篇文章主要介紹了C++中的引用與高級函數(shù)詳解,概念:引用是為已存在的變量取了一個(gè)別名,引用和引用的變量共用同一塊內(nèi)存空間,需要的朋友可以參考下

引用

定義:給變量起別名。

語法:數(shù)據(jù)類型&別名=原名。

int a=10;
int &b=a;
//(此時(shí)的a和b都指向了同一塊空間,都可對里面的元素進(jìn)行修改)

 對這兩個(gè)變量名字任意一個(gè)進(jìn)行修改,兩變量的結(jié)果都會發(fā)生變化

 引用注意事項(xiàng)

1.引用必須初始化

int a=10; int &b=a;(必須等于一個(gè)變量)

2.引用初始化后,不可以改變(永遠(yuǎn)指向最初初始化指向的空間),初始化后只能進(jìn)行賦值操作

int a=10;
int c=20;
int &b=a;
b=c;(將c賦值給b后,b和a的值都為20,但b指向的空間依然和a一樣,不發(fā)生變化)

 引用的做函數(shù)參數(shù)

作用:函數(shù)傳參時(shí),可以利用引用的技術(shù)讓形參修飾實(shí)參

優(yōu)點(diǎn):可以簡化指針直接修改實(shí)參

/1.引用做函數(shù)的參數(shù)
void sweap(int& a, int& b)//可以當(dāng)作函數(shù)傳參的,傳進(jìn)去的是自己本身,在函數(shù)中對其進(jìn)行修改后變量本身也會被修改(類似于地址傳參)
{
	int temp = a;
	a = b;
	b = temp;
}

 引用做函數(shù)的返回值:

int& Add(int a, int b)
{
    static int c = a + b;//靜態(tài)變量,存放在全局區(qū)域
    return c;
}

常量引用

void print(const int& val)
{//為了防止引用傳參的時(shí)候變量在函數(shù)中被修改而不影響自己本身,可以加入const。這樣變量就不會被修改
    val=20
    cout << "val=" << val << endl;
}

引用的本質(zhì):

在c++內(nèi)部實(shí)現(xiàn)一個(gè)指針常量。

int a=10;
int &b=a;//int *const b=&a;
若直接賦值給一個(gè)常數(shù)
const int &b=10;//int temp=10;const int &b=temp;
加入const后變?yōu)橹蛔x,不可修改。

 函數(shù)高級

1.函數(shù)的默認(rèn)參數(shù)

在c++中,函數(shù)的形參列表中的形參可以有默認(rèn)參數(shù)

語法:返回值類型 函數(shù)名(參數(shù)=默認(rèn)值){}

int func(int a, int b = 20)
{
	return a + b;
}

注意事項(xiàng):

注意:
1.如果某個(gè)位置已經(jīng)有了默認(rèn)參數(shù),那么從這個(gè)位置開始往后,從左到右都必須有默認(rèn)值
eg:
b有了默認(rèn)值,后面的所以形參都要有默認(rèn)值
int test1(int a, int b = 20, int c);
2.如果函數(shù)聲明有默認(rèn)參數(shù),函數(shù)實(shí)現(xiàn)就不能有默認(rèn)參數(shù)
  聲明和實(shí)現(xiàn)只能有一個(gè)有默認(rèn)參數(shù)
int test2(int a = 20, int b = 239);
int test2(int a, int b)
{
}
int fun(int a=10,int b=20)
{
   retutn a+b;
}
int a = 10, b = 29;
	如果自己傳入數(shù)據(jù)就用自己的數(shù)據(jù),如果沒有那么用默認(rèn)數(shù)據(jù)。
	//cout << "a+b=" << func(a,20) << endl;//結(jié)果=39
	//cout << "a+b=" << func(a) << endl;//結(jié)果=30
	return 0;

 2.函數(shù)占位參數(shù)

c++中函數(shù)形參列表里面可以有占位參數(shù),且傳參的時(shí)候也當(dāng)作一個(gè)形參,必選滿足其形參數(shù)量
 占位參數(shù)中可以有默認(rèn)值
void test3(int a, int =20)
{
}

3.函數(shù)重載:

作用函數(shù)名可以相同,提高復(fù)用性
條件:
同一作用域下
函數(shù)名稱相同
函數(shù)參數(shù)類型行不通,或者參數(shù)個(gè)數(shù)不同,或者順序不同

//void func(double a, int b);
//void func(int a, double);
//函數(shù)重載的注意事項(xiàng):
//a.引用作為函數(shù)的重載的條件
void func(int &a);//int &a=10; 不合法
//調(diào)用:func(a);
void func(const int& a);//const int &a=10; 合法
//調(diào)用:func(10);
//b.函數(shù)重載碰到默認(rèn)參數(shù)
void func2(int a);
void func2(int a, int b = 10);
//func2(10)//1,2都可以去調(diào)用,所以這樣調(diào)用行不通。
//當(dāng)函數(shù)重載碰到默認(rèn)參數(shù)的時(shí)候會出現(xiàn)二義性。
//func2(10,20)//這種情況下可以行得通。

到此這篇關(guān)于C++中的引用與高級函數(shù)詳解的文章就介紹到這了,更多相關(guān)C++高級函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 深入探究C語言中的二叉樹

    深入探究C語言中的二叉樹

    樹是一種非線性的數(shù)據(jù)結(jié)構(gòu),它是由n(n>=0)個(gè)有限結(jié)點(diǎn)組成一個(gè)具有層次關(guān)系的集合。把它叫做樹是因 為它看起來像一棵倒掛的樹,也就是說它是根朝上,而葉朝下的。本文將帶你深入探究C語言中的二叉樹,感興趣的同學(xué)跟著小編一起學(xué)習(xí)吧
    2023-05-05
  • 使用C++實(shí)現(xiàn)迷宮游戲

    使用C++實(shí)現(xiàn)迷宮游戲

    這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)迷宮游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • C語言實(shí)現(xiàn)手寫Map(全功能)的示例代碼

    C語言實(shí)現(xiàn)手寫Map(全功能)的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何利用C語言實(shí)現(xiàn)手寫Map(全功能),文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)C語言有一定幫助,需要的可以參考一下
    2022-08-08
  • VS2019如何創(chuàng)建C++項(xiàng)目的實(shí)現(xiàn)示例

    VS2019如何創(chuàng)建C++項(xiàng)目的實(shí)現(xiàn)示例

    這篇文章主要介紹了VS2019如何創(chuàng)建C++項(xiàng)目的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • C++進(jìn)一步認(rèn)識類與對象

    C++進(jìn)一步認(rèn)識類與對象

    類是創(chuàng)建對象的模板,一個(gè)類可以創(chuàng)建多個(gè)對象,每個(gè)對象都是類類型的一個(gè)變量;創(chuàng)建對象的過程也叫類的實(shí)例化。每個(gè)對象都是類的一個(gè)具體實(shí)例(Instance),擁有類的成員變量和成員函數(shù)
    2021-10-10
  • C++網(wǎng)絡(luò)編程詳細(xì)講解

    C++網(wǎng)絡(luò)編程詳細(xì)講解

    計(jì)算機(jī)是通過TCP/IP協(xié)議進(jìn)行互聯(lián)從而進(jìn)行通信的,為了把復(fù)雜的TCP/IP協(xié)議隱藏起來,更方便的實(shí)現(xiàn)計(jì)算機(jī)中兩個(gè)程序進(jìn)行通信,引出了socket這個(gè)概念
    2022-10-10
  • C語言開發(fā)實(shí)現(xiàn)貪吃蛇小游戲

    C語言開發(fā)實(shí)現(xiàn)貪吃蛇小游戲

    這篇文章主要為大家詳細(xì)介紹了C語言開發(fā)實(shí)現(xiàn)貪吃蛇小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-10-10
  • vscode配置C++環(huán)境的圖文教程

    vscode配置C++環(huán)境的圖文教程

    這篇文章主要介紹了vscode配置C++環(huán)境的教程圖文詳解,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-04-04
  • C++?RAII在HotSpot?VM中的重要應(yīng)用解析

    C++?RAII在HotSpot?VM中的重要應(yīng)用解析

    RAII技術(shù)被認(rèn)為是C++中管理資源的最佳方法,進(jìn)一步引申,使用RAII技術(shù)也可以實(shí)現(xiàn)安全、簡潔的狀態(tài)管理,編寫出優(yōu)雅的異常安全的代碼,這篇文章主要介紹了C++?RAII在HotSpot?VM中的重要應(yīng)用,需要的朋友可以參考下
    2023-09-09
  • VSCODE+cmake配置C++開發(fā)環(huán)境的實(shí)現(xiàn)步驟

    VSCODE+cmake配置C++開發(fā)環(huán)境的實(shí)現(xiàn)步驟

    這篇文章主要介紹了VSCODE+cmake配置C++開發(fā)環(huán)境的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03

最新評論

新乐市| 汉川市| 侯马市| 清河县| 古田县| 博客| 双鸭山市| 策勒县| 宜黄县| 宜都市| 南漳县| 璧山县| 江安县| 万源市| 防城港市| 贵阳市| 留坝县| 莆田市| 德安县| 松溪县| 蛟河市| 安阳县| 新安县| 南皮县| 札达县| 容城县| 镇雄县| 沙田区| 金昌市| 绿春县| 嘉鱼县| 香港| 花垣县| 包头市| 彭州市| 南开区| 贞丰县| 逊克县| 吴堡县| 灵山县| 潞西市|