December 2017

C++17 standardized

ISOInternational Organization for Standardization — publishes specs including C, C++, and Fortran standards. published C++An extension of C with classes, templates, and RAII — dominant for games, browsers, and systems code.17 in December 2017 — adding `std::optional`, `std::variant`, structured bindings, and parallel algorithms.

What it was for

C++C++An extension of C with classes, templates, and RAII — dominant for games, browsers, and systems code.17 brought everyday ergonomics game engines and finance code needed: optional values without pointer sentinels, `if (auto x = map.find(key))` bindings, and filesystem library in the standard. It bridged the gap between C++An extension of C with classes, templates, and RAII — dominant for games, browsers, and systems code.11's foundation and C++An extension of C with classes, templates, and RAII — dominant for games, browsers, and systems code.20's larger features.

Why it's here

C++An extension of C with classes, templates, and RAII — dominant for games, browsers, and systems code.17 delivered practical quality-of-life features used across industry codebases.

Why it mattered

Optional, variant, and structured bindings reduced boilerplate and bug classes.

What it solved

C++An extension of C with classes, templates, and RAII — dominant for games, browsers, and systems code.11 was powerful but verbose; teams needed smaller, composable standard-library tools.

Media

  • C++
    ImageC++

    Jeremy Kratz, Public domain, via Wikimedia Commons

Related