我有一個叫做myString的簡單類,其中包含一個char*
作爲私有成員。無論我做什麼,我似乎都無法刪除它。C++刪除類成員Char *
class myString
{
public:
myString():letters("This is a string"){}
~myString()
{
delete []letters;
}
private:
char* letters;
}
我已經試過delete letters
,delete[] letters
等,但我總是收到一個錯誤。我曾經使用調試器,並且字母總是被初始化爲一個字符串/指向一個字符串,並且調試器總是在刪除行上崩潰。
爲什麼我不能/不需要刪除字符串文字?相反,當它超出範圍時,它會被清理乾淨。 – Theopile
@Theopile:字符串文字具有靜態存儲持續時間 - 它們存在直到程序退出。 –