Login to manage your account

Please enter a valid email address.
Forgot Password?
Please enter a valid password.
OR

Don't have an account yet? Sign up

C++ has evolved rapidly since C++11. How do you keep current and decide what to adopt?

How you keep current: the standards committee papers show what is coming, cppreference is the practical daily reference, and conference talks from CppCon give you the reasoning behind features rather than just the syntax. Most usefully, rewriting something you already wrote using a newer feature teaches you where it does and does not help.

How you decide what to adopt:

  • Which standard can you actually use? The compiler your product ships with is the real constraint, particularly in embedded work where the toolchain may be years old.
  • Does it remove a class of bug? Smart pointers, std::optional, std::string_view, range-based for, and structured bindings all do. These are worth adopting immediately.
  • Does it complicate the code for a marginal gain? Heavy template metaprogramming and clever constexpr can make a codebase unreadable to everyone but its author.

Note: A good concrete answer is that you would enforce a rule such as no owning raw pointers, backed by clang-tidy, rather than relying on people to remember. And the C++ Core Guidelines are worth naming — they are the closest thing the community has to agreed practice.

All C++ interview questions

Login to manage your account

Please enter a valid email address.
Forgot Password?
Please enter a valid password.
OR

Don't have an account yet? Sign up as