从C++17标准(草案在此)中,[expr.new]:
如果new-expression创建一个类类型的对象或对象数组,则对于分配函数、释放函数和构造函数进行访问和歧义控制。如果new-expression创建一个类类型的对象数组,则可能调用析构函数。
为什么new[]会调用析构函数?毕竟它是new,而不是delete。
如果new-expression创建一个类类型的对象或对象数组,则对于分配函数、释放函数和构造函数进行访问和歧义控制。如果new-expression创建一个类类型的对象数组,则可能调用析构函数。
为什么new[]会调用析构函数?毕竟它是new,而不是delete。
new
不需要可用的析构函数。 - StoryTeller - Unslander Monica