【发布时间】:2013-09-03 03:07:10
【问题描述】:
我正在使用 Visual C++ 2010。我有以下函数将 System::String^ 对象转换为 char 指针 (char*)。
void string2charPtr(System::String^ original, char *&out) {
int length = original->Length;
out = new char[length+1];
for (int i = 0; i < length; i++)
out[i] = (char) original[i];
out[length] = '\0';
}
使用示例:
int main(void) {
char* cPtr;
System::String^ str = gcnew System::String("Hello");
string2charPtr(str, cPtr);
delete cPtr;
return 0;
}
是否需要“删除 cPtr”指令?或者我不调用它会导致内存泄漏?
【问题讨论】:
标签: c++ visual-c++ memory-leaks visual-c++-2010