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/

10-11 16:04