C 指標「指向緊鄰物件所佔空間的下乙個位置」是什麼意思?

時間 2021-06-04 06:44:32

1樓:張擘

作者寫這幾種情況表示的是指標在生命週期內,所有可能的狀態,它的值會是哪些,就這麼簡單。

eg int i=5;

int *p=&i;

那麼這個指標p解引用×p就是i;

p+1就是指向緊鄰物件所佔空間的下乙個位置,但是他解引用會是什麼呢,不確定的。

2樓:李小明

尾後迭代器那種...

就比如int ia[100]取乙個陣列的最後元素的後乙個指標,就是end(ia),但這個指標不能解引用,,否則是未定義的,,,

3樓:陳詩翰

比如你在遍歷set的時候,可以用 for(it=s.begin();it!=s.end();it++)

這裡s.end()的作用應該就類似於你這裡提到的指標用法(如果我沒理解錯的話)。這種設定是為了好寫吧,不然遍歷什麼的寫起來會麻煩一點。

4樓:劉偉健

其實就是指向乙個物件的後一位置,這個位置是不存在物件的,對此指標解引用將會是未定義的結果。這種指標主要作用是用來標識有效物件的邊界,一旦達到這裡就表示要有效物件要結束了,當前已超界。對於順序容器和陣列這種連續儲存物件的型別比較有用。

有了這個指標我就可以知道有效物件在記憶體中佔據哪一段記憶體單元了。

C 中如何定義指向函式指標的指標?

zr scat 瀉藥先定義乙個函式指標 typedef void pfn void 再定義指向函式指標的指標 void print void pfn func print pfn ptr func 在c 11下,可以這麼偷懶獲得型別 1 include 23using namespace std 4...

為什麼 C 中,基類指標可以指向派生類物件?

WangKX 語法就這麼規定這叫多型性,如果往深點說,因為子類物件一般比父類物件大,因此這麼指並沒問題,但反過來不行比如子類指標指向父類物件 馬東啥梅來著 不同型別的指標在記憶體中所佔大小是相同的,區別在於編譯器對於指標的解釋是不同的。乙個指標指向某個類的物件,實際上是指向該物件所佔記憶體的首位址位...

C 中,如果指標換了被指向的東西,那被指向的原來的東西(是被 new 出來的)所佔的記憶體會立刻被釋放嗎?

高博遠 malloc,new new 等,都是從heap memory申請記憶體。對應的需要在不使用的時候用free,delete,delete進行釋放記憶體。如果不釋放申請過的記憶體,則構成memory leaks.since c 11 ISO標準出現,使用裸指標是最蠢的選擇。unique ptr...