據我所知,如果成員函數已經被使用指向動態分配的對象的指針調用,該對象將被刪除。但是,如果使用靜態分配的對象調用成員函數,那麼會發生什麼?我可以在成員函數內的這個指針上應用刪除嗎?
class sample
{
int i;
public:
void func()
{
delete this;
}
};
void main()
{
sample *s = new sample;
s->fun();
sample s1;
s1.fun();
}
提供一個可能的例子嗎? – JCx
應該依賴堆管理,你肯定會遇到一個錯誤,試圖釋放一個無效塊。 – fassl
當你嘗試它時,你的結果是什麼? –