日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
C++引用基本概念詳解

C++編程語言中有很多應(yīng)用方法和C語言有相同之處。那么作為C語言的升級版本,它又有哪些不同之處呢?首先讓我們從C++引用的基本概念來解讀這一問題,希望能夠幫助大家輕松掌握這一語言的特點(diǎn)。#t#

創(chuàng)新互聯(lián)建站是專業(yè)的淄博網(wǎng)站建設(shè)公司,淄博接單;提供成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行淄博網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!

一、C++引用的概念

引用引入了對象的一個(gè)同義詞。定義引用的表示方法與定義指針相似,只是用&代替了*。

例如: Point pt1(10,10);

Point &pt2=pt1; 定義了pt2為pt1的引用。通過這樣的定義,pt1和pt2表示同一對象。

需要特別強(qiáng)調(diào)的是C++引用并不產(chǎn)生對象的副本,僅僅是對象的同義詞。因此,當(dāng)下面的語句執(zhí)行后:

pt1.offset(2,2);

pt1和pt2都具有(12,12)的值。

C++引用必須在定義時(shí)馬上被初始化,因?yàn)樗仨毷悄硞€(gè)東西的同義詞。你不能先定義一個(gè)引用后才初始化它。例如下面語句是非法的:

 
 
 
  1. Point &pt3;  
  2. pt3=pt1; 

那么既然引用只是某個(gè)東西的同義詞,它有什么用途呢?

下面討論C++引用的兩個(gè)主要用途:作為函數(shù)參數(shù)以及從函數(shù)中返回左值。

二、引用參數(shù)

傳遞可變參數(shù)

傳統(tǒng)的c中,函數(shù)在調(diào)用時(shí)參數(shù)是通過值來傳遞的,這就是說函數(shù)的參數(shù)不具備返回值的能力。

所以在傳統(tǒng)的c中,如果需要函數(shù)的參數(shù)具有返回值的能力,往往是通過指針來實(shí)現(xiàn)的。比如,實(shí)現(xiàn)

兩整數(shù)變量值交換的c程序如下:

 
 
 
  1. void swapint(int *a,int *b)  
  2. {  
  3. int temp;  
  4. temp=*a;  
  5. *a=*b;  
  6. *b=temp;  

使用C++引用機(jī)制后,以上程序的C++版本為:

 
 
 
  1. void swapint(int &a,int &b)  
  2. {  
  3. int temp;  
  4. temp=a;  
  5. a=b;  
  6. b=temp;  

調(diào)用該函數(shù)的C++方法為:swapint(x,y); C++自動把x,y的地址作為參數(shù)傳遞給swapint函數(shù)。


本文標(biāo)題:C++引用基本概念詳解
當(dāng)前URL:http://www.dlmjj.cn/article/dhcpsio.html