阅读有关 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(使用前将#替换为@)