如果 std::vector::resize 的大小参数等于当前大小怎么办?

2024-01-04

阅读有关 vector::resize 的手册http://www.cplusplus.com/reference/vector/vector/resize/ http://www.cplusplus.com/reference/vector/vector/resize/

它只说明了尺寸更大或更小时会发生什么,但没有说明尺寸相等时会发生什么。是否保证在大小相同时不会重新分配数组并使迭代器无效?

我想避免一个分支并只处理 2 种情况(>= 或 或 ==),但如果未定义调整大小到相同大小,那么我也必须检查该情况。


这可能只是链接参考中的错误。标准说下列的 http://eel.is/c++draft/vector#capacity-14:

void resize(size_type sz);

Effects: If sz < size(),删除最后一个size() - sz序列中的元素。否则,追加sz - size()默认插入到序列中的元素。

Since sz - size() is 0就你而言,它没有任何作用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如果 std::vector::resize 的大小参数等于当前大小怎么办? 的相关文章

随机推荐