国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

c++將引用或者是指針作為函數參數實現實參的運算

2020-01-26 15:31:21
字體:
來源:轉載
供稿:網友

C++增加引用類型, 主要是把它作為函數參數,以擴充函數傳遞數據的功能,較指針參數來得更加安全直觀。將引用作為參數傳遞的時候,實參初始化形參的時候不分配內存空間,也不調用拷貝構造函數,因此更加能夠提高運算的性能。所以我們應該盡可能地使用引用,而非指針,但是應該要注意,因為局部變量具有自己短暫的生命周期,因此不能夠返回對一個局部變量的引用。

引用通常是在被定義的時候被初始化,但是當它作為參數的時候,則是在被調用的時候被初始化。這時候對引用所做的改變就是對被引用的變量所做的改變。

引用對變量的訪問是直接訪問,指針則是間接訪問,指針有自己獨立的地址和內存空間,引用則是變量的別名沒有獨立的內存空間。

傳遞變量的指針

復制代碼 代碼如下:

//形參是指針變量,實參是一個變量的地址,調用函數時,形參(指針變量)指向實參變量單元。
//函數通過使用指針變量作形參的時候,能夠實現兩個指針變量所指向的值的互換。

#include <iostream>
using namespace std;
int main( )
{   void swap(int *,int *);
    int i=3,j=5;
    swap(&i,&j);                            //實參是變量的地址
    cout<<i<<"  "<<j<<endl;                 //i和j的值已互換
    return 0;
}

void swap(int *p1,int *p2)                 //形參是指針變量
{   int temp;
    temp=*p1;                              //以下3行用來實現i和j的值互換
    *p1=*p2;
    *p2=temp;
}

利用“引用形參”實現兩個變量的值互換

復制代碼 代碼如下:

#include <iostream>
using namespace std;
int main( )
{   void swap(int &,int &);
    int i=3,j=5;
    swap(i,j);
    cout<<"i="<<i<<"  "<<"j="<<j<<endl;
    return 0;
}

void swap(int &a,int &b)      //形參是引用類型,在函數被調用的時候,引用被初始化
{   int temp;
    temp=a;
    a=b;
    b=temp;
}
//輸出結果為
// i=5 j=3



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 镇沅| 阿尔山市| 文成县| 光山县| 大厂| 根河市| 武威市| 商洛市| 高阳县| 安新县| 景泰县| 紫阳县| 平原县| 阿拉善盟| 商水县| 磐安县| 通化县| 西乡县| 怀宁县| 宁强县| 虎林市| 常德市| 延寿县| 蒲江县| 枣强县| 余干县| 韶山市| 楚雄市| 香港 | 河北省| 宁强县| 宜州市| 霍城县| 长春市| 惠州市| 红原县| 武鸣县| 望奎县| 堆龙德庆县| 兴化市| 大英县|