c++ - STL vector 重新分配

标签 c++ stl vector

给定一个指针的 STL vector,每个元素都必须在销毁 vector 本身之前被释放。是否存在任何阻止 STL 库自动执行此操作的技术含义?

谢谢

最佳答案

STL 不为您做这件事的原因是它不知道它是否应该这样做。你可能有一个指向数组的指针 vector (在这种情况下它需要执行 delete[]),指向常规对象的指针(在这种情况下它需要执行 delete >),或者可能来自某个自定义分配器的内存。这些指针也可以与其他一些对象共享,在这种情况下,删除它们会导致其他对象指向垃圾数据,从而导致未定义的行为。这些指针也可以指向堆栈分配的内存,在这种情况下不需要重新分配。

关于c++ - STL vector 重新分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4754452/

相关文章:

c++ - 3.9.1 基本类型

c++ - CLion:无法解析 <member_variable_name>

c++ - 为什么空 vector 会调用值类型的默认构造函数?

c++ - 为什么循环中耗时与迭代次数不成正比

c++ - Qt 5.3 连接 lambda

c++ - 如何使用 LuaBind 将 std::map 绑定(bind)到 Lua

C++ STL优先级队列构造函数

c++ - 分配 vector 中元素的索引而不是其值

opengl - 向量 vec3 和 float 的 GLSL 总和

c++ - "Vector Subscript Out of Range"使用 std::vector 作为 std::map 中的值