【问题标题】:Constructor with by-value parameter & noexcept带按值参数 & noexcept 的构造函数
【发布时间】:2011-11-29 12:15:06
【问题描述】:

在此示例代码中:

explicit MyClass(std::wstring text) noexcept;

这里使用noexcept 正确吗? wstring 可能会在构造时抛出,但是抛出是在我们在构造函数中之前还是在我们在构造函数中时发生?

编辑:假设这可以推广到任何采用按值参数的函数。

【问题讨论】:

    标签: c++ c++11 noexcept


    【解决方案1】:

    函数参数的构造和销毁发生在调用者的上下文中。所以不,如果text 的构造抛出,那不违反noexcept

    很快人们就会发表评论并要求提供规格报价 :) 所以我会给你 5.2.2p4

    每个参数的初始化和销毁​​都发生在 调用函数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-28
      • 2021-10-25
      相关资源
      最近更新 更多