溫馨提示×

溫馨提示×

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

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

C++中如何使用delete銷毀對象

發(fā)布時間:2021-07-30 16:16:53 來源:億速云 閱讀:374 作者:Leah 欄目:大數(shù)據(jù)

本篇文章給大家分享的是有關(guān)C++中如何使用delete銷毀對象,小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

Reason(原因)

That's what the language requires and mistakes can lead to resource release errors and/or memory corruption.

這是C++語言的要求,如果用錯會導(dǎo)致資源釋放錯誤或者內(nèi)存破壞。

Example, bad(反面示例)

void f(int n)
{
   auto p = new X[n];   // n default constructed Xs
   // ...
   delete p;   // error: just delete the object p, rather than delete the array p[]
}
Note(注意)

This example not only violates the no naked new rule as in the previous example, it has many more problems.

示例代碼不僅違反了前面示例中的禁止暴露的new規(guī)則,還有更多其他錯誤。

Enforcement(實施建議)
  • If the new and the delete are in the same scope, mistakes can be flagged.

  • 如果new和delete同屬一個作用域,錯誤可以被標記。

  • If the new and the delete are in a constructor/destructor pair, mistakes can be flagged.

  • 如果new和delete分別位于構(gòu)造函數(shù)和析構(gòu)函數(shù),錯誤可以被標記。

以上就是C++中如何使用delete銷毀對象,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降摹OM隳芡ㄟ^這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

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

AI