【发布时间】:2012-03-13 08:16:43
【问题描述】:
考虑以下 C++ 代码:
using namespace std;
vector<char*> aCharPointerRow;
aCharPointerRow.push_back("String_11");
aCharPointerRow.push_back("String_12");
aCharPointerRow.push_back("String_13");
for (int i=0; i<aCharPointerRow.size(); i++) {
cout << aCharPointerRow[i] << ",";
}
aCharPointerRow.clear();
aCharPointerRow.clear(); 行之后,aCharPointerRow 中的字符指针元素应全部删除。
上述 C++ 代码中是否存在内存泄漏?我是否需要显式释放分配给 char* 字符串的内存?如果是,如何?
感谢您的任何建议。
【问题讨论】:
-
你处理你的分配,然后
vector将处理它自己的分配。 -
应该是
vector<const char*>。char*指针允许修改,但"String_11"是字符串文字,因此const。