0%

成对使用new和delete时要采用相同形式

如果你在new表达式中使用[ ],必须在相应的delete表达式中也使用[ ]。如果你在new表达式中不使用[ ],一定不要在相应的delete表达式中使用[ ]。

另外尽量不要对数组形式做typedef动作,否则会导致new和delete的不匹配。例如:

1
2
3
4
5
typedef std::string Address[4];//用四个字符串来表示地址

std::string *pA = new Address;

delete pA;//应该使用 delete [] pA;