有没有办法改变矢量内存分配策略?使用自己的策略,而不是在调整大小时加倍矢量大小。
(here关于内存分配的一个很好的解释)
答案 0 :(得分:2)
没有。没有标准方法可以影响reserve
的增长策略。
至少,没有保证降低增长率的方法。您可以在增长触发元素添加之前使用$dir = './FILE_FOLDER_NAME';
$files = scandir($dir);
unset($files[0]);
unset($files[1]);
,这有效地允许您控制增长率的下限。
而不是在调整大小时加倍矢量大小
这不一定是矢量实现所使用的策略。
答案 1 :(得分:1)
据我所知,除非你自己实现一个向量,否则不允许在c ++中改变向量内存增加策略。
如果您确实想控制矢量内存增加策略,可以使用reserve。