cpp_tut Topics Lambdas auto and decltype brace init deleted and default functions nullptr enum class rvalues and lvalues variadic templates std::thread and std::random range based for smart pointers msft memory leaks