San Francisco: What I Wish People Knew About C++


Details
This week, Michael Klose will reprise the talk he gave at Silicon Valley Code Camp (https://www.siliconvalley-codecamp.com/Session/2017) this past October.
C++11 practically introduced a new language, and it is my experience that only the fewest know that it even exists. Even recent textbooks that claim to follow the C++11/14/17 standard still describe how to do things the way we did 15 years ago, using C-style arrays and lots of raw pointers, without a single mention of move semantics or RAII.
In my presentation, I will talk about things that I wish any current C++ developer knew, particularly about what move semantics and RAII are and how the former changes everything; how these together make reasoning about the lifetime and ownership of objects much easier, especially across function calls; how move semantics can avoid pointers in the majority of cases where you needed them previously; and if you really need pointers, how std::unique_ptr and its cousins (std::shared_ptr, std::weak_ptr) can make your life so much easier.
In addition, I will talk about lambda functions, how these can be paired with the vast library of standard algorithms, and how doing so will make your code more readable and, in all likelihood, faster.
The talk concludes with other miscellaneous things about C++/C++11 that I wish people knew; for example, which containers to prefer (std::unordered_map vs std::map and std::vector vs std::list), C++11 constructs like class enums, C++ class member initializations and others.
If you haven’t heard of move semantics or have never used a lambda function in C++, then this talk is for you.
Michael Klose started programming at 8 years old, in BASIC on a ZX Spectrum. He started using C++ using Turbo C++ 1.0 as a teenager, which came out in 1991. These days, despite being busy leading Commvault's Silicon Valley engineering team, he still programs C++ himself whenever he gets the time — mostly after everyone has gone home — and frequently gives internal presentations on C++11(+) and other programming-related topics.

Sponsors
San Francisco: What I Wish People Knew About C++