【发布时间】:2019-03-14 08:57:15
【问题描述】:
标准是否保证用std::swap 交换基本类型(整数、字符、布尔值、指针...)的对象不会引发异常?我想这个问题之前一定有人问过,但我不能谷歌任何这样的问题。
我知道std::is_nothrow_swappable 的定义,但是我不知道基本类型是否也是NothrowConstructible 和NotrhowAssignable。
(我对指针交换特别感兴趣。)
【问题讨论】:
-
交换基本类型的对象如何引发异常?
-
我不知道标准中有任何明确保证基本类型交换是 noexcept 的。话虽如此,我相信你想多了。我还没有看到一个平台不会出现这种情况。
-
好问题。不可能在没有争议和对语言目标的某种程度假设的情况下回答。 :)
标签: c++ pointers exception swap