N3000から、operator&がオーバーロードされた型に対しても変数のアドレスを
取得できるstd::address関数が追加されています。
boost::addressofから取り入れられたものですね。
// <memory> namespace std { ... // 20.8.13, specialized algorithms: template <class T> T* addressof(T& r); ... }
template
T* addressof(T& r); Returns: the actual address of the obejct referenced by r, even in the presence of an overloaded operator&.
Throws: nothing.