亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

引用

定義:給變量起別名。

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

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

 對這兩個變量名字任意一個進行修改,兩變量的結(jié)果都會發(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ù)傳參時,可以利用引用的技術(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;//結(jié)果=39
	//cout << "a+b=" << func(a) << endl;//結(jié)果=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)//這種情況下可以行得通。

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

相關(guān)文章

  • C++實現(xiàn)分數(shù)計算器

    C++實現(xiàn)分數(shù)計算器

    這篇文章主要為大家詳細介紹了C++實現(xiàn)分數(shù)計算器,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • C語言中#pragma?once的作用

    C語言中#pragma?once的作用

    這篇文章主要介紹了C語言中#pragma?once的作用,pragma once 一般由編譯器提供保證,更多相關(guān)內(nèi)容在下面文章詳細展開需要的小伙伴可以參考一下
    2022-05-05
  • C語言中調(diào)用Swift函數(shù)實例詳解

    C語言中調(diào)用Swift函數(shù)實例詳解

    這篇文章主要介紹了C語言中調(diào)用Swift函數(shù)實例詳解的相關(guān)資料,實現(xiàn)該功能可以通過定義全局的指向Blocks的對象指針來實現(xiàn),需要的朋友可以參考下
    2017-07-07
  • C++入門指南之貪吃蛇游戲的實現(xiàn)

    C++入門指南之貪吃蛇游戲的實現(xiàn)

    這篇文章主要給大家介紹了關(guān)于C++入門指南之貪吃蛇游戲?qū)崿F(xiàn)的相關(guān)資料,文章通過示例代碼介紹的非常詳細,可以讓大家能短時間內(nèi)寫出一個貪吃蛇,需要的朋友可以參考下
    2021-10-10
  • C++設(shè)計模式之策略模式(Strategy)

    C++設(shè)計模式之策略模式(Strategy)

    這篇文章主要為大家詳細介紹了C++設(shè)計模式之策略模式Strategy ,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • Opengl?ES之FBO幀緩沖對象使用詳解

    Opengl?ES之FBO幀緩沖對象使用詳解

    這篇文章主要為大家介紹了Opengl?ES之FBO幀緩沖對象使用詳解,<BR>有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-09-09
  • C語言實現(xiàn)棧的示例詳解

    C語言實現(xiàn)棧的示例詳解

    棧是一種特殊的線性表,只允許從一端進出數(shù)據(jù),稱為后進先出,先進后出。本文主要為大家介紹了C語言實現(xiàn)棧的示例代碼,感興趣的可以了解一下
    2022-06-06
  • Qt中QStackedWidget控件的實現(xiàn)

    Qt中QStackedWidget控件的實現(xiàn)

    QStackedWidget是Qt框架中一個非常有用的控件,它允許你堆疊多個窗口部件,本文主要介紹了Qt中QStackedWidget控件的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2025-04-04
  • Qt圖形圖像開發(fā)之QT滾動區(qū)控件(滾動條)QScrollArea的詳細方法用法圖解與實例

    Qt圖形圖像開發(fā)之QT滾動區(qū)控件(滾動條)QScrollArea的詳細方法用法圖解與實例

    這篇文章主要介紹了Qt圖形圖像開發(fā),QT滾動區(qū)控件(滾動條)QScrollArea的詳細方法用法圖解與實例,需要的朋友可以參考下
    2020-03-03
  • C++ continue和break語句

    C++ continue和break語句

    這篇文章主要介紹了C++ continue和break語句,文章圍繞continue和break語句的相關(guān)資料展開詳細內(nèi)容,需要的朋友可以參考一下,希望對大家有所幫助
    2021-11-11

最新評論