改变向量内存分配策略?

时间:2017-10-30 06:11:30

标签: c++ algorithm vector resize

有没有办法改变矢量内存分配策略?使用自己的策略,而不是在调整大小时加倍矢量大小。

here关于内存分配的一个很好的解释)

2 个答案:

答案 0 :(得分:2)

没有。没有标准方法可以影响reserve的增长策略。

至少,没有保证降低增长率的方法。您可以在增长触发元素添加之前使用$dir = './FILE_FOLDER_NAME'; $files = scandir($dir); unset($files[0]); unset($files[1]); ,这有效地允许您控制增长率的下限。

  

而不是在调整大小时加倍矢量大小

这不一定是矢量实现所使用的策略。

答案 1 :(得分:1)

据我所知,除非你自己实现一个向量,否则不允许在c ++中改变向量内存增加策略。

如果您确实想控制矢量内存增加策略,可以使用reserve