更改矢量内存分配策略
Change vector memory allocation strategy?
有没有办法改变向量内存分配策略? 使用您自己的策略,而不是在调整大小时将向量大小加倍。
(这里有一个关于内存分配的很好的解释)
No.没有标准的方式来影响std::vector
的增长战略。
至少,没有保证降低增长率的方法。您可以在添加增长触发元素之前使用reserve
,这有效地允许您控制增长率的下限。
而不是在调整大小时将矢量大小加倍
这不一定是向量实现使用的策略。
据我所知,除非你自己实现向量,否则 c++ 中不允许更改向量内存增加策略。
如果确实想控制向量内存增加策略,可以使用保留。
相关文章:
- 将数组的地址分配给变量并删除
- vector.resize()中的分配错误
- 如果C++类在类方法中具有动态分配,但没有构造函数/析构函数或任何非静态成员,那么它仍然是POD类型吗
- Win32编译器选项和内存分配
- 函数中堆分配的效果与缺少堆分配的情况
- 使用动态分配的数组会导致代码分析发出虚假的C6386缓冲区溢出警告
- 多个文件的内存分配错误"在抛出 'std :: bad_alloc' what (): std :: bad_alloc 的实例后终止调用" [C++]
- 获取字符串的长度并将其分配给数组
- 将地址分配给本地指针后,公共对象的变量将消失
- C++17中的并行执行策略
- 递归模板化函数不能分配给具有常量限定类型"const tt &"的变量"state"
- 有没有一种方法可以使用placement new将堆叠对象分配给分配的内存
- 我在二维向量中是否正确分配了内存
- 正在尝试重载二进制搜索树分配运算符
- 更改矢量内存分配策略
- STD :: vector和std ::字符串重新分配策略
- 矢量内存分配策略
- 如何使用 C++ 实现分配策略
- 排队对象的分配策略
- std::字符串分配策略