std::addressof
模板函数定义在<memory>
头文件中,用于获取类或函数的真实地址,即使在类重载了地址操作符&的情况下也能正常工作。它有如下三个声明:
template<typename T>
T* addressof(T& arg) noexcept; // (1) 从C++11开始支持
template<typename T>
constexpr T* addressof(T &arg) noexcept; // (2) 从C++17开始支持
template <class T>
const T* addressof