auto
auto lets the compiler deduce variable types from initializers, reducing verbosity and improving maintainability.
decltype
decltype deduces the type of an expression, preserving references and const qualifiers exactly.
decltype(auto)
decltype(auto) (C++14) combines auto convenience with decltype precision - deduces type while preserving references and const.