La surcharge unaire &
rend votre objet se comporter comme une référence (à cet égard).
Je suis assez sûr que c'est sans issue pour tenter de proposer des alternatives aux références intégrées, en particulier depuis que les références ne sont pas des objets en C++, et ils ne disposent pas de leurs propres adresses. Les Instances de votre type défini par l'utilisateur, inévitablement, sont des objets, et de ne pas avoir les adresses, même si vous désactivez le mode normal de l'obtention de cette adresse. Donc il n'est jamais une imitation parfaite.
Mais, les gens sont très enthousiastes sur défini par l'utilisateur des solutions de rechange à des pointeurs, donc je peux voir comment quelqu'un pourrait vouloir de le tenter. Je ne suis pas sûr qu'ils vont éviter de créer un type de (sig)se comporte de manière à rendre ses utilisateurs souhaitent qu'ils n'avaient pas pris la peine.