偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

C++引用基本概念詳解

開發(fā) 后端
C++引用的主要功能就是引入了對象的一個同義詞,其表示方法與定義指針相似,不同之處在于用&代替了*。在這里我們就會為大家詳細介紹其中的應(yīng)用方法。

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

一、C++引用的概念

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

例如: Point pt1(10,10);

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

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

pt1.offset(2,2);

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

C++引用必須在定義時馬上被初始化,因為它必須是某個東西的同義詞。你不能先定義一個引用后才初始化它。例如下面語句是非法的:

 

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

 

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

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

二、引用參數(shù)

傳遞可變參數(shù)

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

所以在傳統(tǒng)的c中,如果需要函數(shù)的參數(shù)具有返回值的能力,往往是通過指針來實現(xiàn)的。比如,實現(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++引用機制后,以上程序的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ù)。

責(zé)任編輯:曹凱 來源: 博客園
相關(guān)推薦

2010-02-02 15:30:05

C++ include

2010-02-01 17:24:41

C++循環(huán)語句

2010-02-06 14:04:58

C++內(nèi)存使用機制

2010-02-03 13:22:07

C++時間

2010-02-05 12:57:20

C++ kdevelo

2010-02-03 11:11:18

C++類型轉(zhuǎn)換

2010-02-02 13:41:01

C++類繼承

2010-02-03 14:36:47

C++仿函數(shù)

2010-02-04 13:56:24

C++類模板特化

2010-02-05 17:34:37

C++函數(shù)模板

2010-02-04 10:08:00

C++靜態(tài)成員函數(shù)

2010-02-01 14:07:12

C++多態(tài)性

2010-02-23 16:32:29

WCF服務(wù)

2009-12-29 18:29:09

Silverlight

2010-07-12 09:43:38

Symbian開發(fā)

2010-02-04 17:39:48

C++字符串類型

2010-02-06 15:58:10

C++集合初始化

2010-02-04 17:32:43

C++中C風(fēng)格字符串

2010-02-24 17:17:04

WCF宿主環(huán)境

2009-12-21 15:33:07

WCF集合元素
點贊
收藏

51CTO技術(shù)棧公眾號