未定义的行为是否会在定义为永不抛出异常的函数中导致异常?

时间:2017-06-08 00:53:49

标签: c++ exception undefined-behavior

我看着a description of delete[]并说:

  

异常安全
  拒绝保证:此功能永远不会抛出异常。

但它补充说:

  

请注意, ptr 的无效值会导致未定义的行为。

我怀疑UB可以包含抛出异常并且保证仅适用于有效指针,但我只是想我会检查。

1 个答案:

答案 0 :(得分:2)

"未定义的行为"意味着语言定义不会告诉您代码的作用。所以,是的,任何事情都可能发生,包括吹过noexcept说明符。毕竟,没有规则......(好吧,你的编译器可能会提供规则,但依赖它是不可移植的。)