C 隨筆(指標和引用的使用注意事項)

2021-06-25 22:31:13 字數 669 閱讀 8455

1、不要用函式的行參,行參是用來向函式裡 傳遞引數的。

如class obj

obj(){}

obj(const obj& obj)

class objs

objs(obj m_obj = obj())

void getobj(obj& m_obj)

obj& getobj()

void getobj(obj* obj_ptr)

void getobj1(obj* obj_ptr)

private:

obj  one_obj;

int main()

objs m_objs;

obj m_obj;

obj* m_obj_ptr;

m_objs.getobj(m_obj);   //可以取得資料成員,但是會觸發拷貝建構函式。

obj& m_obj = m_objs.getobj();//可以取得資料成員,且不會觸發拷貝建構函式,效率高,根據是否對資料成員修改,返回值加const修飾。

getobj(m_obj_ptr);    //不能取得資料成員,原因是指標是進行的值傳遞,指標已經被複製。

getobj1(m_obj_ptr); //可以取得資料成員,因為雖然指標被複製,但複製後指標同原指標指向同乙個位址。

return 0;

C 學習筆記 指標和引用的注意事項

一 指標 1指標變數的定義,由資料型別後跟星號,再跟指標變數名組成。2 表示乙個實體的位址,此符號可用來對指標變數初始化和賦值 如 int count 18 int iptr count int ip ip count 3 除了可以用來定義指標,標緻乘法運算子,還可以做間訪操作 間訪操作就是 取指標...

c 中引用變數的注意事項,和指標的區別

1.定義引用時必須初始化 變數或者常量 且初始化後不能再指向其他變數或者常量。指標卻可以在定義時不初始化,可以在定義後的任何地方初始化,或者改變指向的物件。2.存在指標的引用,但是沒有引用的指標,因為引用在概念上只是乙個代號,沒有實體空間。3.不能定義引用陣列,即便用類似 int b 5 初始化也不...

引用的特點和注意事項

引用,是變數的別名,就是你自己有個名字,比如李四,那你還有另外乙個小名,叫小四,小四就是你的別名,別人叫你的時候你就會答應,那麼李四和小四是同乙個人,那麼某個變數的引用是一樣的,對該引用的操作就是對原變數的操作,本身不占用儲存單元,也不是乙個新的資料型別。不能建立陣列的引用 引用在函式傳參時的特點 ...