c++ - 交换基本类型的对象会抛出异常吗?

标签 c++ pointers exception swap

标准是否保证使用 std::swap 交换基本类型(整数、字符、 bool 值、指针...)的对象不会抛出异常?我想这个问题以前一定有人问过,但我无法谷歌任何这样的问题。

我知道 std::is_nothrow_swappable 的定义,但是我不知道基本类型是否是NothrowConstructibleNotrhowAssignable 还有。

(我对指针交换特别感兴趣。)

最佳答案

For pointers ,该方法指定noexpect
对于非指针,如果值为 is_nothrow_move_constructible,则为 noexpectis_nothrow_move_assignable这对于“基本”类型(也称为基元,例如 int、float、char)是正确的。

关于c++ - 交换基本类型的对象会抛出异常吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52723417/

相关文章:

c++ - 保存指向由 void 指针指向的内存的指针

java - 发生异常时 future 任务异步调用挂起

c++ - 使用 std::fill 时出现段错误

c++ - 基类虚拟析构函数访问冲突

c++ - WEC7中如何断开与Connection Manager的连接

java - 如果未注入(inject)属性,抛出什么类型的异常?

c# - ASP.NET 4.5 从客户端检测到具有潜在危险的 Request.Form 值

c++ - 条件模板变量

c - C 和 MPI 环境中的指针赋值

c - 将一个链表插入另一个链表