我正在寻找一个在线参考资料,以查看几个标准容器的异常安全性。
在std::vector
的情况下,它是否保留了push_back调用之前的状态?我会认为向量仍然拥有所有对象有效(没有调用析构函数)。在push_back抛出std::bad_alloc
异常后,std::vector
提供哪些保证?
我正在寻找一个在线参考资料,以查看几个标准容器的异常安全性。
在std::vector
的情况下,它是否保留了push_back调用之前的状态?我会认为向量仍然拥有所有对象有效(没有调用析构函数)。在push_back抛出std::bad_alloc
异常后,std::vector
提供哪些保证?