91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++中delete函數如何使用

發布時間:2023-03-09 15:36:48 來源:億速云 閱讀:144 作者:iii 欄目:開發技術

本篇內容主要講解“C++中delete函數如何使用”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“C++中delete函數如何使用”吧!

在C++中delete函數用于回收new分配的內存空間。

C++告訴我們在回收用 new 分配的單個對象的內存空間的時候用 delete,回收用 new[] 分配的一組對象的內存空間的時候用 delete[]。

關于 new[] 和 delete[],其中又分為兩種情況:(1) 為基本數據類型分配和回收空間;(2) 為自定義類型分配和回收空間。

在針對簡單的基本數據類型,使用delete也可以回收 new[] 分配的一組對象的內存空間,因為:基本的數據類型對象沒有析構函數,并且new 在分配內存時會記錄分配的空間大小,則delete時能正確釋放內存,無需調用析構函數釋放其余指針。因此兩種方式均可。

但是在對于自定義類型的時候,使用new[] 分配的一組對象的內存空間最好還是要用delete[]回收。

例:

#include <iostream>;
using namespace std;
 
class T {
public:
  T() { cout << "constructor" << endl; }
  ~T() { cout << "destructor" << endl; }
};
 
int main()
{
  const int NUM = 3;
 
  T* p1 = new T[NUM];
  cout << p1 << endl;                            //輸出P1的地址
  //  delete[] p1;
  delete p1;
 
  T* p2 = new T[NUM];
  cout << p2 << endl;                                    //輸出P2的地址
  delete[] p2;
  return 0;
}

結果:

C++中delete函數如何使用

可以看到在使用delete回收p1時,析構函數只調用了一次,也就是p1[0]的析構函數,使用delete[]回收p2時,析構函數全部調用了。所以如果在分配時使用new[],回收時最好用delete[]。

到此,相信大家對“C++中delete函數如何使用”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

如皋市| 满洲里市| 皋兰县| 搜索| 新密市| 哈巴河县| 锡林郭勒盟| 商都县| 连州市| 绥宁县| 武宣县| 滨海县| 略阳县| 奉贤区| 资阳市| 东山县| 沙河市| 巩义市| 黔南| 响水县| 新化县| 莫力| 江源县| 南木林县| 鞍山市| 上蔡县| 康乐县| 安新县| 晋城| 廉江市| 什邡市| 尼木县| 拉萨市| 晴隆县| 安多县| 平凉市| 绵竹市| 颍上县| 依安县| 临猗县| 曲靖市|