为什么有人想要重载&(地址)运算符?

Ton*_*ony 20 c++ overloading operator-overloading address-operator

可能重复:有
什么合理的理由使一元运算符超载?

我刚看了这个问题,我不禁想知道:

为什么有人可能想要重载&("address-of")运算符?

   some_class* operator&() const { return address_of_object; }

有没有合法的用例?

Tim*_*sch 25

如果您正在处理任何类型的包装器对象,您可能希望或需要透明地将对包装器的访问转发给包含的对象.在这种情况下,您不能返回指向包装器的指针,但需要重载address-of运算符以返回指向包含对象的指针.

  • 嘿,我正在搜索"c ++重载地址",以确定我是否可以这样做.感谢非常快速的保证:-) (3认同)

Nod*_*ode 8

因为他们是邪恶的,希望你受苦.

或者我想如果你使用代理对象?我你可能想要返回一个指向托管对象而不是容器的指针 - 尽管我宁愿用getter函数来做.否则你必须记得使用像boost::addressof.


lit*_*adv 8

是的,对于调试(如果要跟踪任何访问或引用,您可能希望在任何调用上放置日志行&,*->).