Decltype
In the C++ programming language, decltype (for "declared type") is a specifier keyword used to query the type of an expression. Introduced in C++11, its primary intended use is in generic programming, where it is often difficult, or even impossible, to express types that depend on template parameters.