我找不到这条信息.我正处理一个奇怪的情况,我在一个循环中,我可以在任何给定的时间获得随机信息.该信息必须存储在矢量中.现在每个帧我必须设置这个向量,以确保我不会占用空间(我正在使用索引将值写入向量中的随机点).
现在假设没有办法改变这段代码,我想知道,如果我发送的参数恰好是向量的大小,那么向量是否"忽略"resize()函数?我在哪里可以找到这些信息?
小智 9
来自MSDN参考1
如果容器的大小小于请求的大小_Newsize,则元素将添加到向量,直到达到请求的大小.如果容器的大小大于请求的大小,则删除最靠近容器末尾的元素,直到容器达到_Newsize大小.如果容器的当前大小与请求的大小相同,则不执行任何操作
ISO C++标准(第485页2)指定了此行为vector::resize
void resize ( size_type sz , T c = T ());
if ( sz > size ())
insert ( end () , sz - size () , c );
else if ( sz < size ())
erase ( begin ()+ sz , end ());
else
; // Does nothing
Run Code Online (Sandbox Code Playgroud)
所以是的,矢量忽略了它,你不需要自己进行检查.
| 归档时间: |
|
| 查看次数: |
1575 次 |
| 最近记录: |