【发布时间】:2018-10-23 07:20:47
【问题描述】:
C++17 添加了std::uninitialized_move,但没有std::uninitialized_move_if_noexcept 会在内部使用std::move_if_noexcept。在我看来,它会很有用,因为现在,如果我们想重新分配,我们仍然需要写一些东西
if constexpr (!std::is_nothrow_move_constructible_v<value_type>
&& std::is_copy_constructible_v<value_type>)
std::uninitialized_copy(...);
else
std::uninitialized_move(...);
C++17 中没有引入std::uninitialized_move_if_noexcept 有什么特别的原因吗?
【问题讨论】:
标签: c++ c++17 move placement-new noexcept