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

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

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

引用

定義:給變量起別名。

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

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

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

 引用注意事項

1.引用必須初始化

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

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

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

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

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

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

/1.引用做函數(shù)的參數(shù)
void sweap(int& a, int& b)//可以當作函數(shù)傳參的,傳進去的是自己本身,在函數(shù)中對其進行修改后變量本身也會被修改(類似于地址傳參)
{
	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ù)中被修改而不影響自己本身,可以加入const。這樣變量就不會被修改
    val=20
    cout << "val=" << val << endl;
}

引用的本質(zhì):

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

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

 函數(shù)高級

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

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

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

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

注意事項:

注意:
1.如果某個位置已經(jīng)有了默認參數(shù),那么從這個位置開始往后,從左到右都必須有默認值
eg:
b有了默認值,后面的所以形參都要有默認值
int test1(int a, int b = 20, int c);
2.如果函數(shù)聲明有默認參數(shù),函數(shù)實現(xiàn)就不能有默認參數(shù)
  聲明和實現(xià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ù),如果沒有那么用默認數(shù)據(jù)。
	//cout << "a+b=" << func(a,20) << endl;//結果=39
	//cout << "a+b=" << func(a) << endl;//結果=30
	return 0;

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

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

3.函數(shù)重載:

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

//void func(double a, int b);
//void func(int a, double);
//函數(shù)重載的注意事項:
//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ù)重載碰到默認參數(shù)
void func2(int a);
void func2(int a, int b = 10);
//func2(10)//1,2都可以去調(diào)用,所以這樣調(diào)用行不通。
//當函數(shù)重載碰到默認參數(shù)的時候會出現(xiàn)二義性。
//func2(10,20)//這種情況下可以行得通。

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

相關文章

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

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

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

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

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

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

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

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

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

    C++進一步認識類與對象

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

    C++網(wǎng)絡編程詳細講解

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

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

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

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

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

    C++?RAII在HotSpot?VM中的重要應用解析

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

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

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

最新評論

衡东县| 广昌县| 双柏县| 年辖:市辖区| 舞钢市| 将乐县| 璧山县| 分宜县| 革吉县| 阳原县| 英超| 错那县| 洛隆县| 兴文县| 武陟县| 常州市| 克山县| 白河县| 南投市| 苏州市| 名山县| 浦东新区| 文山县| 上思县| 全南县| 鹿泉市| 许昌市| 两当县| 寿光市| 陆川县| 宿迁市| 南昌县| 定远县| 康马县| 丹凤县| 长兴县| 竹山县| 泉州市| 马山县| 疏附县| 安泽县|