程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> c++將援用或許是指針作為函數參數完成實參的運算

c++將援用或許是指針作為函數參數完成實參的運算

編輯:關於C++

c++將援用或許是指針作為函數參數完成實參的運算。本站提示廣大學習愛好者:(c++將援用或許是指針作為函數參數完成實參的運算)文章只能為提供參考,不一定能成為您想要的結果。以下是c++將援用或許是指針作為函數參數完成實參的運算正文


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


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved