這是一個有點不清楚,我...所以,如果我有一個函數: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