改变向量内存分配策略?
Posted
技术标签:
【中文标题】改变向量内存分配策略?【英文标题】:Change vector memory allocation strategy? 【发布时间】:2017-10-30 06:11:30 【问题描述】:有没有办法使用您自己的策略,而不是在调整大小时将矢量大小加倍。
(here关于内存分配的一个很好的解释)
【问题讨论】:
【参考方案1】:没有。没有标准的方式来影响std::vector
的增长策略。
至少,没有保证降低增长率的方法。您可以在增长触发元素添加之前使用reserve
,这可以有效地控制增长速度的下限。
而不是在调整大小时将矢量大小加倍
这不一定是向量实现所使用的策略。
【讨论】:
【参考方案2】:据我所知,除非你自己实现一个vector,否则在c++中是不允许改变vector内存增加策略的。
如果你确实想控制向量内存增加的策略,你可以使用reserve。
【讨论】:
以上是关于改变向量内存分配策略?的主要内容,如果未能解决你的问题,请参考以下文章