刪除和新建在動態空間中的一些用法

發布 教育 2024-05-17
5個回答
  1. 匿名使用者2024-02-10

    新建後,就是向p申請一塊記憶體,更重要的是告訴系統這個記憶體空間已經申請了,以後如果在其他地方申請,就不會分配到這個位址了。

    delete,就是告訴系統這個位址已經被放棄了,如果以後還有申請的空間,這個記憶體可以分配,但是這個時候,p和這個記憶體的內容並沒有清空。

    也就是說,p 仍然指向這個空間,這是非常危險的,所以發布後必須手動設定 p=null; 是的。

    否則,如果另乙個變數應用於原始 p 指向的空間,則再次使用 p 操作記憶體將導致致命錯誤。 因此,將來有必要將指標留空。

  2. 匿名使用者2024-02-09

    打個比方,記憶就像一座房子。

    新是買房。

    刪除就是賣掉房子。

    房子沒有被摧毀,它仍然在那裡。 你仍然可以在裡面放一些東西。 但這顯然不再合法了。 以後,如果你放進去的東西被別人處理掉了,你就不能抱怨了。

  3. 匿名使用者2024-02-08

    記憶體被釋放了,但 p 仍然是同乙個位址,p[0]、p[1] 仍然會按照位址的順序讀取資料,記憶體的內容不變,但可以被程式中的其他變數使用而不是占用它。

  4. 匿名使用者2024-02-07

    new 分配記憶體。

    常用格式為:型別名 * 指標 = 新型別名;

    例如 int * pi = new int;

    型別可以是基本資料型別、結構、自定義類等,以釋放記憶體。

    常見的格式是:刪除指標名稱;

    注意 delete 與 new 配對,只有 new 分配的記憶體才能釋放。

    刪除只能使用一次,不能使用兩次。

    新建,用於建立動態陣列。

    一般格式為:type name * pointer = new type name [ array size ];

    例如 char * pc = new char [234];

    pc 被分配第乙個元素的位址,指向第乙個元素 delete 以釋放動態陣列。

    常見的格式為:刪除指標;

    new,指標可以用作陣列名稱,例如 float * pf = new float [200];

    pf[24],即陣列第 25 個元素的值,下標從 0 開始,C++ 中使用 new 和 delete 來動態分配記憶體,C 使用 malloc 和 free

  5. 匿名使用者2024-02-06

    是的,Malloc 和 Free 是 C++ C 中的標準庫函式,而 New Delete 是 C++ 中的運算子。

    從功能上講,它們都用於申請和釋放記憶體。

相關回答
19個回答2024-05-17

該頁面的空間可能已被惡意新增**,請仔細檢查! >>>More

13個回答2024-05-17

房東混淆了實踐和抽象。 點、線、平面都是人抽象出來的,這些東西在現實生活中是不存在的,它們都是身體。 在哲學中,點是不能分割的最小單位,在數學中,點是由一串坐標值表示的東西,而在物理學中,點是乙個質量“概念”。 >>>More

11個回答2024-05-17

這涉及到基本的極限思維。 答案是一樣的。 >>>More

12個回答2024-05-17

開啟空間。 單擊自定義模組。 按新建模組 - 選擇**模組 - 然後在框中輸入所需的單詞。

16個回答2024-05-17

很長一段時間以來,維度對我們來說都是非常深奧的,人們能理解的維度只有一、二、三,而四維空間已經夠複雜了,上面的維度比較困難,科學家們正試圖解釋這一點。 在很多科幻作品中,維度的存在制約著文明的發展,很多高階文明都存在於高維度,人類想要發展就必須突破維度,這一點得到了很多人的認可。 在科學家看來,為了突破維度極限,我們還需要找到一種物質。 >>>More