看到一个使用函数的例子:cpp中的delete,没完全看懂。代码是:
class Name {
const char* s;
//...
};
class Table {
Name* p;
size_t sz;
public:
Table(size_t s = 15){p = new Name[sz = s]; }
~Table { delete[] p; }
};
该命令的确切操作是什么:delete[] p;
?
我认为目的是删除容器表中的所有指针。
中的括号delete[]
给我一个线索,它删除了一个指向 Name 的指针数组,但没有指定数组的大小,那么析构函数如何“知道”要删除多少个指针?