使用delete [] name
解除分配数组时,是通过循环遍历数组并删除其中的所有内容来花费O(N(时间,还是只删除数组本身?
取决于。
如果name
中存储的类型有一个析构函数,那么是的,每个析构函数都会运行,那么内存就会被释放。假设析构函数在O(1(时间内运行,这将是一个O(N(过程。
如果它是一个没有析构函数的类型(例如,基元类型(,那么内存将被释放(可能在O(1(时间内,尽管我看不到任何与此相关的标准保证(。