aJ.*_*aJ. 5 c++ stl vector
看起来像个愚蠢的问题.但是,我的评论答案的SO问题让我重新思考一个.
[评论说,空载体的容量不必为零]
默认情况下,我的答案是0,因为矢量中没有元素.将容量保持为0是有意义的,并且在第一次分配时可以增加容量而不会有任何性能命中.
但标准并没有说明这一点.(我也查阅了Josuttis的书).
它纯粹是针对具体实现的吗?是否有任何STL供应商使用一些任意数字作为空载体的capcity?
有什么想法吗...
Kir*_*sky 16
C++标准23.2.4.2只说vector::capacity是
vector::capacity
向量可以容纳的元素总数,无需重新分配.
这意味着实际值是完全特定于实现的.
GMa*_*ckG 7
容量可以是实现者认为正确或必要的任何东西.
还应该注意,假设你在capacity()没有调用该函数的情况下知道当前的情况,从来没有"安全" .如果您保留10个元素,则实现者可以自由地分配100个元素.或11,42(首选)或仅10.
capacity()
归档时间:
15 年,11 月 前
查看次数:
2420 次
最近记录: