The use of std::addressof
is more descriptive than the use of &
. It better expresses the intention of the code, and is therefore preferred. Another reason is that the &
is easier to overlook than the larger std::addressof
, hence easier to miss by the quick code reader. As a result, using std::addresof
is expected to lead to fewer bugs and better code, and hence preferred.