int a =1;
int&i = a; i為a的引用,可以代替a,並且可以作為引數傳過去,與傳位址過去效果一樣
如void test (
int&a)
test (i)
1 不要返回區域性變數的引用
2 下面是 引用作為返回值,函式返回值可以直接作為等式的左值,並且能改變變數的值
int
&test()
intmain()
out 100
引用很方便,其實就是乙個指標, int * const ref =&a ;
雖然ref是乙個指標常量編譯器自動把ref當做 實際的值來用,但是還有指標的特性,如可以改變變數的值
void
test
(const
int&a)
const int &a=10; —>編譯器臨時給出乙個變數 temp=10; const int &a =10;
一般用括號法,還有顯式法,匿名法
括號法person p(2
);引數構造
person q
(&p)
;拷貝構造
匿名法構造乙個匿名物件
person(2
);會立馬釋放掉匿名的物件,在函式結束之前
拷貝構造函式呼叫的三種情況
拷貝建構函式的引數是本類物件的引用。拷貝建構函式的呼叫有以下三種情形 1 用類的乙個物件去初始化另乙個物件時 2 當函式的形參是類的物件時 值傳遞 如果是引用傳遞則不會呼叫 3 當函式的返回值是類的物件或引用時。拷貝建構函式與賦值操作符的區別 拷貝建構函式的作用是完成對未初始化儲存區的初始化,而賦值...
函式的寫法 C 建構函式的三種寫法
c 的建構函式的作用 初始化類物件的資料成員。即類的物件被建立的時候,編譯系統對該物件分配記憶體空間,並自動呼叫建構函式,完成類成員的初始化。建構函式的特點 以類名作為函式名,無返回型別。常見的建構函式有三種寫法 c 的建構函式可以有多個,建立物件時編譯器會根據傳入的引數不同呼叫不同的建構函式。如果...
C 三種呼叫拷貝建構函式的情況
三種呼叫拷貝建構函式的情況 1.用類的乙個物件去初始化另乙個物件時 2.函式的形參是類的物件,呼叫函式,進行形參與實參的結合時 3.函式的返回值是類的物件,函式完成呼叫返回時 產生乙個臨時物件 話不多說,測試 如下 include using namespace std class point po...