C++ 11(和C++ 14)STL容器具有noexcept
析构函数和clear()
成员函数。
这意味着这些元素也应该具有noexcept
析构函数,或者至少应该说,存储在容器中的实际元素在销毁时不应引发任何异常,或者更正确地说,相应的allocator_traits<Allocator>::destroy
调用也不应引发。
是否在标准中的任何地方将其指定为要求(明确或由其他显式要求暗示)?如果没有,为什么?
我知道is_nothrow_constructible
需要noexcept
析构函数,但is_constructible
本身并不需要,而且容器要求是根据概念而不是类型特征模板指定的。
最佳答案
关于c++ - 是否明确要求STL容器元素是可销毁的(无异常(exception))?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29303939/