[cpp] nonoverloadable operators

李慧霸 magazine.lihuiba at 163.com
Wed Mar 28 15:17:56 CST 2007


>.* 不可重载,->* 就可以重载吗?
>.* 有什么用?
.*和->*是用于&# 8220;指向成员变量/函数的指针&# 8221;解引用时的语法。
在最简单的情况下,指向成员的指针被实现为一个类内偏移,需要配合一个对象实例才能解引用。
在多继承环境下,这种指针的实现会很复杂,因编译器不同而迥异。

设T是一个类(结构体),mp是指向T的一个成员的指针,,例如:
T Obj;
T* pObj=&Obj;
...
则&# 8220;Obj.*p&# 8221;、&# 8220;pObj->*p&# 8221;分别是两种解引用的语法。



最近正好在一个项目里大量用到这类指针:)


------------------				 
李慧霸
2007-03-28





More information about the Cpp mailing list