當我在下面的程序上運行valgrind時,它報告內存泄漏。你能解釋一下原因嗎?使用C++字符串時的內存泄漏
#include <string>
#include <iostream>
using namespace std;
int main()
{
char * arr = (char *) ::operator new(sizeof(char));
string s = arr;
return 0;
}
- 中到底發生就行字符串s = ARR什麼?它是否製作了arr的副本?
你不自由arr。 – Aneri 2013-03-13 16:00:44
你爲什麼要寫這個代碼? @Aneri:你是海盜嗎? ;-) – stefan 2013-03-13 16:02:04
'std :: string'不會奇蹟般地釋放你的數組 – 2013-03-13 16:02:10