new操作符和delete釋放記憶體
阿新 • • 發佈:2022-03-22
new操作符
C++中利用==new==操作符在堆區開闢資料
堆區開闢的資料,由程式設計師手動開闢,手動釋放,釋放利用操作符 ==delete==
語法: new 資料型別
利用new建立的資料,會返回該資料對應的型別的指標
int* func() { int* a = new int(10); return a; } int main() { int *p = func(); cout << *p << endl; cout << *p << endl; //利用delete釋放堆區資料delete p; //cout << *p << endl; //報錯,釋放的空間不可訪問 system("pause"); return 0; }
**示例2:開闢陣列**
//堆區開闢陣列 int main() { //arr是陣列的首地址 int* arr = new int[10]; for (int i = 0; i < 10; i++) { arr[i] = i + 100; } for (int i = 0; i < 10; i++) { cout<< arr[i] << endl; } //釋放陣列 delete 後加 [] delete[] arr; system("pause"); return 0; }