C++入門經典-例5.16-輸出引用
阿新 • • 發佈:2017-09-15
namespace 示例代碼 pan spa 賦值 amp http display 控制臺
1:如不加特殊說明,一般認為引用指的都是左值引用。引用實際上是一種隱式指針,它為對象建立一個別名,通過操作符&來實現,引用的形式如下:
數據類型 & 表達式;
例如:
int a=10;
int & ia=a;
ia=2;
上面的程序定義了一個引用變量ia,它是變量名a的別名,對ia的操作與對a的操作完全一樣。“ia=2”把2賦給a,“&ia”返回a的地址。執行“ia=2”和執行“a=2”等價。
使用引用的說明如下:
(1)一個C++引用被初始化後,無法使用它再去引用另一個對象,它不能被重新約束。
(2)引用變量只是其他對象的別名,對它的操作與原來對象的操作具有相同作用。
(3)指針變量與引用主要區別有兩點:一是指針是一種數據類型,而引用不是一個數據類型,指針可以轉換為它所指向變量的數據類型,以便使賦值運算符兩邊的類型相匹配;而使用引用時,系統要求引用和變量的數據類型必須相同,否則不能進行數據類型轉換。二是指針變量和引用變量都用來指向其它變量,但指針變量使用的語法要復雜一些;定義引用變量後,其使用方法和普通變來那個相同。
例如:
int a;
int *pa=&a;
int & ia=a;
示例代碼如下:
// 5.16.cpp : 定義控制臺應用程序的入口點。 // #include "stdafx.h" #include <iostream> usingView Codenamespace std; void main() { int a; int & ref_a = a; a = 100; cout << "a= " << a << endl; cout << "ref_a=" << ref_a << endl; a = 2; cout << "a= " << a << endl; cout << "ref_a=" << ref_a << endl;int b = 20; ref_a = b; cout << "a= " << a << endl; cout << "ref_a=" << ref_a << endl; ref_a--; cout << "a= " << a << endl; cout << "ref_a=" << ref_a << endl; }
運行結果:
C++入門經典-例5.16-輸出引用