C++17 (also called C++1z) is the informal name for the future revision of the C++ ISO/IEC standard. The specification for the C++17 revision is under development and feature-complete, to be finished in 2017. See also n4606 working draft and the n4618 working draft.
Contents
Expected features
static_assert
std::string_view
, a non-owning reference to a character sequence or string-slice, which is read-onlytypename
in a template template parameterauto
deduction from braced-init-liststd::uncaught_exceptions
, as a replacement of std::uncaught_exception
std::map
and std::unordered_map
std::auto_ptr
, std::random_shuffle
or old function adaptorsboost::filesystem
std::optional
, std::any
)std::variant
, a type-safe union containerif
with the form if constexpr(expression)
auto [a, b] = getTwoReturnValues();
if
and switch
statementspair(5.0, false)
instead of pair<double,bool>(5.0, false)
Next standard
References
C++17 Wikipedia(Text) CC BY-SA