C++ Language Core RAII Smart Pointers unique_ptr shared_ptr (thread safety limits) weak_ptr (cycle breaking) Move Semantics move-only types rvalue references std::span and std::string_view zero-copy buffer passing