引用與指標小節

2021-05-24 05:05:32 字數 900 閱讀 6300

一 引用和指標的區別:

引用是對已有名稱的資料塊起的乙個別名,它與原先的名字作用一樣,都對該資料塊有操作許可權,二者始終資料一致。

int a =5; int &b =a; a 與 b所指的資料都是分給5的那塊。所以 &a == &b二者位址是一樣的。

#include "stdafx.h"

#include

using namespace std;

void main()

;int & getpersonid()

private:

int  m_id;//設為私有型別

};void main()

加上靜態型別

要麼就是不用引用的返回型別 而改為值傳遞,這樣傳回的就是該資料的乙個副本,不會影響到私有成員的資料。

改為指標型別也一樣

class person

;int * getpersonid()

private:

int  m_id;//設為私有型別

};void main()

{person ps;

int* id = ps.getpersonid();

cout<<*id《指標的 new 和 delete

int *p = new int(2);//在heap堆中動態申請乙個整型資料的記憶體空間 並賦初值為2;cout<<*p《在不用 p時 要呼叫 delete p; p = null,這時p指標仍然存在,只是不指向任何有效資料空間,釋放p所指的記憶體空間,如果在釋放之前 將p指向別的位址 如 p = null;那麼p原先所指的記憶體空間將無法釋放,而導致記憶體洩漏。

int *pp = new int[20];//動態申請20個整形資料空間,刪除時delete pp; pp =null;

表達能力有限 先記下這些把,以後再補充

引用與指標小節

一 引用和指標的區別 引用是對已有名稱的資料塊起的乙個別名,它與原先的名字作用一樣,都對該資料塊有操作許可權,二者始終資料一致。int a 5 int b a a 與 b所指的資料都是分給5的那塊。所以 a b二者位址是一樣的。include stdafx.h include using names...

指標與引用

摘自 高質量c 程式設計 指標與引用,在more effective c 的條款一有詳細講述,我給你轉過來 條款一 指標與引用的區別 指標與引用看上去完全不同 指標用操作符 和 引用使用操作符 但是它們似乎有相同的功能。指標與引用都是讓你間接引用其他物件。你如何決定在什麼時候使用指標,在什麼時候使用...

引用與指標

引用就是物件的另乙個名字,在實際的程式中,引用主要用作函式的形式引數。引用是一種復合型別,通過在變數名前新增 符號來定義。復合型別是指用其他型別定義的型別。在引用的情況下,每一種引用型別都 關聯到 某一其他型別。引用必須用與該引用同型別的物件初始化。當引用初始化後,只要該引用存在,它就保持繫結到初始...