Cppreference没有提及std::forward_list::splice_after()
和std::list::splice()
的例外保证。
但是,由于这两个函数只改变列表节点的指针,因此不需要copy
/ move
任何元素或分配任何内存,恕我直言他们应该是noexcept
。
他们是noexcept
的C++11
吗?如果他们不是,为什么不呢?
除了一个之外,所有人都有一个“投掷:没什么。”在标准中,缺少它似乎是一种疏忽。
它们并非noexcept,因为它们是狭义的。如果中断(许多)前提条件,调试模式实现可能会抛出异常。