cpp17#本次会议确定的 C++ 17 特性:
Core Lang:
[[fallthrough]]
[[nodiscard]]
[[maybe_unused]]
P0068R0constexpr
Lambdas(允许一个closure type
作为literal type
,对lambda
的调用可以一个constant expression
(closure type 的operator()
是否是constexpr
可推导)N4487Unary Folds and Empty Parameter Packs P0036R0
Generalizing range-based for loops 允许
range-based for loop
里面的begin()
和end()
返回两个不同的类型 P0184R0Capturing *this in lambdas 可以对
*this
进行捕捉,一旦捕捉了*this
就不可以隐式用this
。P0018R2Hexadecimal floating literals P0245r0
Construction Rules for enum class Values 允许用
{v}
直接构造enum class
(v
到enum class
的underlying type
不允许 narrow conversion)。P0138R0Module 与 Coroutine(
co_await
, …)进入 TS。Concepts 被否。
operator dot、
constexpr_if
(if constexpr
?)、order of evalution、std::byte
等推迟到下次会议(Oulu)。
Library: