【发布时间】:2020-05-28 09:30:30
【问题描述】:
根据the documentation,std::string_view 有一个构造函数,它接受一个const char * 和一个std::size_t,没有声明noexcept:
constexpr basic_string_view(const CharT* s, size_type count);
另一方面,the documentation 还声明用户定义的字面量 operator""sv,在我看到的所有实现中,它是该构造函数的简单包装器,声明为 noexcept:
constexpr std::string_view operator "" sv(const char* str, std::size_t len) noexcept;
你知道造成这种差异的原因吗?构造函数什么时候可以抛出?
【问题讨论】:
标签: c++ c++17 noexcept user-defined-literals string-view