Заголовок<<boost/core/addressof.hpp>>определяет шаблон функции<boost::addressof>.<boost::addressof(x)>возвращает адрес<x>. Обычно этот адрес можно получить по<&x>, но унарный оператор<&>может быть перегружен.<boost::addressof>Избегать употребления термина<operator&()>.
<boost::addressof>Первоначально Брэд Кинг внес свой вклад, основанный на идеях из дискуссии с Дугом Грегором.
namespace boost
{
    template<class T> T* addressof( T& x );
}
 
#include <boost/core/addressof.hpp>
struct useless_type { };
class nonaddressable {
    useless_type operator&() const;
};
void f() {
    nonaddressable x;
    nonaddressable* xp = boost::addressof(x);
    
}