标签: c++ c++11 deque c++-standard-library noexcept
在C ++ 11和更高版本中,pop_front()的{{1}}和pop_back()不是noexcept还是被遗忘了吗?
pop_front()
pop_back()
noexcept
答案 0 :(得分:8)
如果我理解正确,那么该标准就不会在合约范围狭窄的函数上指定noexcept(前提是违反会导致UB)。 N3279和最近的P0884都在谈论这一点,以及如何确定某个函数是否应该noexcept(或有条件地)的问题。
std::deque的{{1}}和pop_front就是这种情况,但在pop_back和front上也是如此,那里没有对析构函数的调用。例如,back的{{1}},std::vector和pop_back都是相同的。
std::deque
pop_front
pop_back
front
back
std::vector