1. 程式人生 > 其它 >new操作符和delete釋放記憶體

new操作符和delete釋放記憶體

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; }