<menu id="ycqsw"></menu><nav id="ycqsw"><code id="ycqsw"></code></nav>
<dd id="ycqsw"><menu id="ycqsw"></menu></dd>
  • <nav id="ycqsw"></nav>
    <menu id="ycqsw"><strong id="ycqsw"></strong></menu>
    <xmp id="ycqsw"><nav id="ycqsw"></nav>
  • delete語句怎么寫(數據庫sql語句大全實例)


    C++在回收用 new 分配的單個對象的內存空間時,直接用 delete;回收用 new[] 分配的數組對象的內存空間時,需要用 delete[]。

    • 調用 new 所包含的動作:從系統中申請一塊內存,并調用對象的構造函數;
    • 調用 delete 所包含的動作:先調用對象的析構函數,然后將內存歸還系統;
    • 調用 new[n] 所包含的動作:申請可容納 n 個對象的空間,并調用 n 次構造函數來初始化這 n 個對象;
    • 調用 delete[] 所包含的動作:先調用 n 次對象的析構函數,再將內存歸還系統。

    比如下面這段代碼:

    #include <iostream>
    using namespace std;
    
    class Student {
    public:
        Student() {
            cout << "1. Constructor" << endl;
        }
        ~Student() {
            cout << "2. Destructor" << endl;
        }
    };
    
    int main()
    {
        Student* stu = new Student();
        delete stu;
        stu = nullptr;
      
        cout << "---" << endl;
      
        Student* stuArr = new Student[2];
        delete[] stuArr; // 不要漏了[]
        stuArr = nullptr;
      
        return 0;
    }

    運行結果為:

    C++中delete對象和數組對象的用法

    需要注意的是:若將 delete[] stuArr 改為 delete stuArr,則會導致 stuArr 指向的2個Student對象中的剩余1個未被銷毀,造成內存泄漏。

    C++中delete對象和數組對象的用法
    C++中delete對象和數組對象的用法

    版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。

    發表評論

    登錄后才能評論
    国产精品区一区二区免费