Takeaways from C++ Now 2017

May 15-20 2017

I had generous support from my postdoc mentor Jon Hauenstein at Notre Dame to attend this year's C++ Now conference, 2017. Here are some takeaways from this intensive week of C++ in Aspen Colorado.

Things to learn more about

  • structured bindings
  • tag types
  • std::nullopt
  • std::decay_t (2x)
  • throwing as a mechanism to provide a link error for constexpr
  • murmur hash -- constexpr
  • detection idiom (Marshall)
  • discriminated union
  • std::monostate
  • user supplied literals
  • std::apply
  • type erasure
  • higher order metafunctions
  • coroutines (2x) (3x) -- Tools for asyncronous computing

Things from C++17 to use in my code

  • fold expressions to eliminate template recursion
  • if constexpr

People to learn more about

Upcoming C++20 things to pay attention to

  • Concepts -- expressing things that types implement, and functions requiring a concept be implemented
  • Modules -- A way for packaging code, without headers
  • Contracts -- Pre- and post-conditions on arguments to functions
  • Proxy iterators