对于std :: map,如果必须调整容器大小并且内存不可用,插入的行为方式如何?
STL映射不必"调整大小"容器.map(就像list一样)是一个基于节点的容器; 每个插入分配内存.
也就是说,内存不足的情况就像处理C++中的任何其他内存不足一样:它会抛出一个std :: bad_alloc.具有默认分配器的STL容器不会做任何花哨的事情,它们最终都会以某种方式通过标准的new/delete运算符进行分配.
在STL map的情况下,它会抛出异常,否则就会表现得好像没有被调用一样.也就是说,容器将保持不变.
| 归档时间: |
|
| 查看次数: |
2689 次 |
| 最近记录: |