是 SFINAE 中直接上下文的异常规范部分
Is the exception specification part of the immediate context in SFINAE?
这是以下问题的后续:可变参数构造函数中的SFINAE
我写了一些代码,例如
template<typename... Args>
StrongAlias(Args&&... args) noexcept(noexcept(T(std::declval<Args>()...)))
: value(std::forward<Args>(args)...) {}
在无法从参数类型构造T
的情况下,将禁用StrongAlias
构造函数,但另一个用户告诉我这不起作用,因为异常规范不是直接上下文的一部分。
异常规范不是直接上下文的一部分吗?我不明白为什么会这样。
正如T.C.在评论中指出的那样,没有。 每 [温度扣除]/7:
[ 注意:例外规范中的等效替换为 仅在实例化 noexcept-specifier 时完成,此时 点程序格式不正确,如果替换导致 无效的类型或表达式。 — 尾注 ]
相关文章:
- 处理多个异常集合的C++方法
- 我在c++代码中生成了一个运行时#3异常
- 孤立代码块在结构中引发异常
- C++中的赋值发生,尽管右侧出现异常
- 从构造函数抛出异常时如何克服内存泄漏
- 异常属于C++中的线程还是进程
- 当类定义不可见时捕获异常
- 引发异常:读取访问冲突**dynamicArray**为0x1118235.发生
- 为什么异常不退出程序?
- 为什么我应该在异常处理中使用std::cerr而不是std::cout
- 如何修复链表类实现的未处理异常0xDDDDDDDD
- 关于:C++中异常对象的范围:为什么我没有得到副本?
- 是什么导致了Unity 3D中的"错误线程异常"?
- 向量范数的c++中的||运算符
- 如何将strftime中的格式错误作为异常捕获
- 创建具有 new in 函数和"this is nullptr"异常的对象
- 如何将部分流作为参数传递
- 尝试使用智能指针时引发异常
- 函数如何通知用户它基于函数原型抛出异常?
- 是否值得降低我的代码的可读性,以便在出现内存不足错误时提供异常安全性?