标准是否保证使用 std::swap
交换基本类型(整数、字符、 bool 值、指针...)的对象不会抛出异常?我想这个问题以前一定有人问过,但我无法谷歌任何这样的问题。
我知道 std::is_nothrow_swappable
的定义,但是我不知道基本类型是否是NothrowConstructible 和NotrhowAssignable 还有。
(我对指针交换特别感兴趣。)
最佳答案
For pointers ,该方法指定noexpect
。
对于非指针,如果值为 is_nothrow_move_constructible
,则为 noexpect
和 is_nothrow_move_assignable
这对于“基本”类型(也称为基元,例如 int、float、char)是正确的。
关于c++ - 交换基本类型的对象会抛出异常吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52723417/