微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!
noexcept专题提供noexcept的最新资讯内容,帮你更好的了解noexcept。
在为嵌入式系统编码时使用 C++ 的 <code>noexcept</code> 说明符有什么好处吗? <ul> <li>它会使二进制文件
假设你有一个通常永远不会失败的功能,例如: std::string convert_integer_to_string(int x); 在市政当局,这将是noexcept的候选人.但是,最可能涉及的实现涉及动态内存管理,因此在使用new运算符分配内存时总是会抛出std::bad_alloc. 是否建议将该函数注释为noexcept? 从实际的角度来看,以合理的方式处理内存不足的情况是极其困难的.大
move_if_noexcept将: >返回一个右值 – 促进移动 – 如果移动构造函数是noexcept或者没有复制构造函数(仅移动类型) >返回左值 – 强制复制 – 否则 我发现这个相当令人惊讶,因为只有移动类型的投掷移动器仍然会有使用move_if_noexcept的代码调用此移动器. 有没有给出一个彻底的理由呢? (可能直接或在N2983之间?) 不编码会不会更好,而不是仍然不得不面对不
在我看来,似乎是协议,当移动构造函数为noexcept(false)时,标准库必须调用复制构造函数而不是移动构造函数. 现在我不明白为什么会这样.此外,Visual Studio VC v140和gcc v 4.9.2似乎也有不同的做法. 我不明白为什么不这样做,例如这是一个问题.向量.我的意思是如果T没有,vector :: resize()应该如何能够提供强大的异常保证.正如我所看到的那样,矢
根据C标准,类构造函数的noexcept noexcept-spec究竟适用于什么? >功能体? >在可选的ctor-initializer中初始化成员? >在可选的mem初始化器中初始化基类? >在可选的mem初始化器中初始化类成员? >复合语句? > function-try-block? >在ctor-initializer中未初始化对象基类的初始化? >初始化对象类成员未初始化在ctor-
当C11对使用noexcept限定词声明的其他函数进行调用时,C 11是否提供内联函数或方法的任何保证? class My_String { ... const char * c_str () const noexcept; inline operator const char * () const { return c_str(); } }; 我假设优化编译器可以自由地实现没有
我们有这种情况,想知道如何解决这个问题 template<typename T> struct A : T { A(T &&t) noexcept(noexcept(T(std::move(t)))) :T(std::move(t)) { } }; 不幸的是,由于T的move构造函数被保护,所以不能编译,我们只允许在* this的构造函数初始化列表中调用它.使这项工作或甚至有一个
考虑: class test { private: int n; int impl () const noexcept { return n; } public: test () = delete; test (int n) noexcept : n(n) { }