我有這個類:這是C++中的代碼內存泄漏?
class Base{
private:
char *message;
public:
Base(string message`);
~Base();
};
編輯:對不起,我忘了給我的構造函數!
當我實現析構象下面這樣:
Base::Base(string message1){
message = new char[message1.size() + 1]
message[message1.size()] = '\0';
memcpy(message, message1.c_str(), message.size());
}
Base::~Base(){
delete message;
}
某個系統出錯,stop working
錯誤,但如果不是delete message
,我使用message = NULL
,一切都會好起來的!所以,如果我只是在我的析構函數中聲明message = NULL
,我的程序是否會發生內存泄漏?
這聽起來令人難以置信的可疑,但沒有一個更完整的例子(即,在構造函數中發生了什麼?)沒有辦法回答它。 –
你在構造函數中做什麼? – PermanentGuest
哪種類型是'string'? –