如果我理解正确,标准并没有在具有窄契约(先决条件违反会导致未定义行为)的函数上指定noexcept。N3279和最近的P0884都在讨论这个问题,以及如何决定一个函数是否应该是noexcept或者是有条件的。这适用于std::deque的pop_front和pop_back,也适用于没有调用析构函数的front和back。例如,对于std::vector的pop_back、front和back同样适用。