c++指標小計
假如沒有刪除第一個指標就對其重新賦值就會造成記憶體洩漏。
使用空值的指標會令程式出錯。
指標也可以與指標相加相減比較,可以自加自減,都是相對於指標儲存的地址操作,比如自加,int型的指標會自加四個位元組,兩個指標比較也是比較兩個指標的記憶體地址。
常量指標
我們可以將指標宣告為常量指標,該指標不可改變如:
int *const p;
但是它指向的整型變數是可以改變值的。
#include <iostream>
using namespace std;
int main()
{
int a=3;
int *const p=&a;
cout<<"a:"<<a<<endl;
a=4;
cout<<"a:"<<a<<endl;
return 0;
}
結果顯示a=3和a=4。
指向常量的指標
定義一個常量指標 const int *p;
指向常量的指標指向的變數是不可以修改的,但是該指標可以被修改,與常量指標的功能相反,指向常量的常指標是指向的變數和指標都不可以修改。指向常量的常指標寫為 const int *const p;。
總結:
指標可以通過記憶體地址間接訪問資料,每個變數都有自己的地址,我們可以通過取地址符(&)獲得他們的地址。他們的地址可以儲存在指標變數中。我們可以通過間接運算子(*)讀取指標指向地址的值。
指標的型別必須與它所指向的目標一樣,指標未被初始化一個記憶體地址或者剛刪除一個指標都要將該指標賦為0,否則的話將會導致該指標失控。
假如不想改變指標,那麼將該指標定義為const,假如不想改變指標指向的值,將指標指向的值定義為const,假如既不想改變指標也不想改變指標指向的值,那麼把指標和指標指向的值都定義為const。
用new在堆中可以建立一個物件,然後將記憶體地址賦給指標,之後我們就可以通過指標訪問堆中的物件,假如要刪除物件,我們只需要對指標受用關鍵字delete,那麼就會刪除指標指向的物件並釋放該儲存物件的記憶體空間。但是我們要注意一點,指標並沒有刪除,並且它只想原來的記憶體空間,因此我們必須要對它的記憶體地址清零或者重新賦值。
相關文章
- C++智慧指標學習——小談引用計數C++指標
- C++ 指標常見用法小結C++指標
- C++ this 指標C++指標
- C++ 指標C++指標
- C++指標理解C++指標
- 【c++】智慧指標C++指標
- C++智慧指標C++指標
- C/C++指向指標的指標C++指標
- C++中的this指標C++指標
- c++ 函式指標C++函式指標
- C++引用和指標C++指標
- C++指標轉換C++指標
- C++指標問題C++指標
- 「C++」理解智慧指標C++指標
- C++(函式指標)C++函式指標
- 再學C/C++ 之 指標常量 和 常量指標C++指標
- [C++] 成員函式指標和函式指標C++函式指標
- 控制指標與統計指標指標
- 詳解c++指標的指標和指標的引用C++指標
- C/C++指標總結C++指標
- C++ 類成員指標C++指標
- C++進階(智慧指標)C++指標
- 1-7 C++指標C++指標
- C++ 智慧指標詳解C++指標
- [C++]指標和引用(一)C++指標
- [C++]指標和引用(二)C++指標
- [C++]指標和引用(三)C++指標
- [C++]指標和引用(四)C++指標
- C++的成員指標C++指標
- c++指標使用經驗總結之懸垂指標C++指標
- C++ 用智慧指標這樣包裝 this 指標是否可行C++指標
- 《指標和引用小結》指標
- C++筆記(11) 智慧指標C++筆記指標
- c++ 智慧指標用法詳解C++指標
- C++函式指標詳解C++函式指標
- C++智慧指標簡單剖析C++指標
- c++ auto_ptr 智慧指標C++指標
- C++的未來和指標C++指標