好的,previous问题得到了清楚的回答,但我发现了另一个问题.
如果我这样做:
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 *转换为字符串之后,我不必再担心删除了吗?
编辑:作为回答,我必须删除[]每个新的[]调用,但在我的情况下它不可能,因为指针丢失,所以问题是:如何正确地将字符串转换为字符串?