给定一个指针的 STL vector
,每个元素都必须在销毁 vector
本身之前被释放。是否存在任何阻止 STL 库自动执行此操作的技术含义?
谢谢
最佳答案
STL 不为您做这件事的原因是它不知道它是否应该这样做。你可能有一个指向数组的指针 vector (在这种情况下它需要执行 delete[]
),指向常规对象的指针(在这种情况下它需要执行 delete
>),或者可能来自某个自定义分配器的内存。这些指针也可以与其他一些对象共享,在这种情况下,删除它们会导致其他对象指向垃圾数据,从而导致未定义的行为。这些指针也可以指向堆栈分配的内存,在这种情况下不需要重新分配。
关于c++ - STL vector 重新分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4754452/