这是一个有点不清楚,我...所以,如果我有一个函数:C++新和删除和功能
char *test(int ran){
char *ret = new char[ran];
// process...
return ret;
}
然后调用它多次:
for(int i = 0; i < 100000000; i++){
char *str = test(rand()%10000000+10000000);
// process...
// delete[] str; // do i have to delete it here?
}
所以问题是,我必须使用delete[]
来拨打每个new[]
吗?
这似乎是一个常见的C++问题。一般来说,如果您使用的是同一个类,则需要调用'new'和'delete'。否则我很想看看人们说什么。 – 2010-06-03 12:38:50