【发布时间】:2016-09-23 23:09:05
【问题描述】:
假设我有一些课程
class word{
public:
string term;
word(){}
word(string s){term = s;}
};
class cont{
public:
word** terms;
cont(){};
cont(int n){terms = new word*[n];}
};
假设现在我像这样初始化一个 cont 及其属性项
cont c(5);
c.terms[0] = new word("a");
c.terms[1] = new word("b");
c.terms[2] = new word("c");
我应该如何删除这个数组的元素?逐个?一次全部?我不明白 delete/delete[] 语法如何用于指针指针。
【问题讨论】:
-
您根本不应该使用原始指针。除此之外,为每个
new应用一个delete保持平衡,new[]和delete[]相同。 -
“你根本不应该使用原始指针”是不是因为像
arr[i]这样的东西比*(arr + i)更容易输入和理解?