好的,前面的问题已经回答得很清楚了,但我发现了另一个问题。
如果我这样做怎么办:
char *test(int ran){
char *ret = new char[ran];
// process...
return ret;
}
然后运行它:
for(int i = 0; i < 100000000; i++){
string str = test(rand()%10000000+10000000);
// process...
// no need to delete str anymore? string destructor does it for me here?
}
那么在将 char* 转换为字符串之后,我就不必再担心删除了?
编辑:正如回答的那样,我必须delete[]
每次new[]
调用,但在我的情况下,由于指针丢失,这是不可能的,所以问题是:如何正确地将 char 转换为字符串?