LoS*_*LoS 23 c++ swap stdvector noexcept c++17
我注意到std::vector容器的交换函数具有与所有其他容器不同的 noexcept 规范。具体来说,如果表达式
std::allocator_traits<Allocator>::propagate_on_container_swap || std::allocator_traits<Allocator>::is_always_equal为 true,则该函数为 no except,但其他容器要求表达式std::allocator_traits<Allocator>::is_always_equal为 true。
既然交换函数的行为是相同的,为什么 noexcept 规范仅在std::vector容器中不同?
| 归档时间: |
|
| 查看次数: |
827 次 |
| 最近记录: |