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++函式指標
- C++中的this指標C++指標
- [C++] 成員函式指標和函式指標C++函式指標
- 【C++系列】指標物件和物件指標的區別C++指標物件
- 【Visual Studio調教小記錄】C++指標靠前靠後??C++指標
- C/C++指標總結C++指標
- 1-7 C++指標C++指標
- C++進階(智慧指標)C++指標
- C++ 類成員指標C++指標
- C++ 用智慧指標這樣包裝 this 指標是否可行C++指標
- C++程式設計開發和指標的關係C++程式設計指標
- c++ 智慧指標用法詳解C++指標
- 120 C++中的物件指標C++物件指標
- C++筆記(11) 智慧指標C++筆記指標
- C++標準庫有四種智慧指標C++指標
- c++ 類的函式引用 指標C++函式指標
- C++ 成員資料指標成員函式指標簡單測試C++指標函式
- C++ 指標動態記憶體分配C++指標記憶體
- C++ 返回函式指標的函式C++函式指標
- c++指標傳遞與引用傳遞C++指標
- C++ 指標和迭代器支援的操作C++指標
- C++基於模板實現智慧指標C++指標
- 【C++】智慧指標的正確使用方式C++指標
- C++中const與指標、引用的總結C++指標
- C++中函式指標與函式物件C++函式指標物件
- C++與Rust操作裸指標的比較C++Rust指標
- 【C++】 61_智慧指標類别範本C++指標
- [C++ Daily] 虛表與虛指標的理解C++AI指標
- C++中的可見性 指標 筆記C++指標筆記
- C++ 學習筆記(3):引用和指標C++筆記指標
- 聊聊 C++ 中的幾種智慧指標 (上)C++指標