NPS*_*NPS 8 c++ stl vector c++11
是std::vector::reserve(0);合法的,哪些会怎么做呢?
std::vector::reserve(0);
Jer*_*fin 22
没有什么可以禁止的.效果reserve是:
reserve
在reserve()之后,如果重新分配,capacity()大于或等于reserve的参数; 并且等于capacity()的先前值.当且仅当当前容量小于reserve()的参数时,才会发生重新分配.1
因为值capacity()永远不会小于0(它是无符号的),所以它永远不会有任何影响; 它永远不会导致重新分配.
capacity()
1. c ++标准,[vector.capacity]
cdh*_*wie 7
是的,这是一个合法的无操作.
如果new_cap大于当前值capacity(),则分配新存储,否则该方法不执行任何操作.
new_cap
(来源,强调我的.)
因为capacity()将始终> = 0(由于size_type无符号),传递零保证什么都不做.
size_type
归档时间:
11 年,3 月 前
查看次数:
2478 次
最近记录: