Ton*_*ony 20 c++ overloading operator-overloading address-operator
可能重复:有
什么合理的理由使一元运算符超载?
我刚看了这个问题,我不禁想知道:
为什么有人可能想要重载&("address-of")运算符?
some_class* operator&() const { return address_of_object; }
有没有合法的用例?
Tim*_*sch 25
如果您正在处理任何类型的包装器对象,您可能希望或需要透明地将对包装器的访问转发给包含的对象.在这种情况下,您不能返回指向包装器的指针,但需要重载address-of运算符以返回指向包含对象的指针.
因为他们是邪恶的,希望你受苦.
或者我想如果你使用代理对象?我想你可能想要返回一个指向托管对象而不是容器的指针 - 尽管我宁愿用getter函数来做.否则你必须记得使用像boost::addressof.