假設`刪除this`我有一個類foo
與函數release
調用delete this
:行爲的功能
struct foo
{
std::int32_t release() const
{
delete this;
return 0;
}
};
爲什麼我連電話
delete this
鑑於該功能是const
?是否定義了返回0行爲?
delete
之後的功能是否「排序」?
引用標準的答案(所以我可以在我的代碼中插入一個奇特的評論)將不勝感激。
早晨Slodge:一次我不能回答你的問題。我認爲這是安全的,因爲我在不久前編寫了代碼,我仍然享受全職工作! 1.刪除不是真的修改一個對象,它是拋出一個對象失去存在,2.認爲成員函數不過是一個額外的(雖然隱藏)'this'參數的靜態。只要你在刪除對象後不提及'this',你就會好的。 PS是*我們的*代碼。 – Bathsheba
這是在[C++ FAQ](https://isocpp.org/wiki/faq/freestore-mgmt#delete-this)中的一個條目。 – TartanLlama
它用於COM風格的引用計數。 –