stdaddressof
std::addressof is a utility in the C++ standard library that returns the actual memory address of an object, bypassing any overloaded address-of operator. It is designed to obtain a true pointer to an object even when a class defines a custom operator&.
The function is declared in the <memory> header and is available since C++11. Its signature is template<class
std::addressof is particularly important when a class overloads operator& to return a proxy or otherwise alter
Typical usage is straightforward: given an lvalue obj of some type T, std::addressof(obj) yields a T* that
Notes: std::addressof requires an lvalue of type T; it cannot take a temporary. It is also useful