template
class test{
T *operator->();
T* getData();}
------------------------
test t;
t->func()-----------------------1,非指针对象也能用-> ? 2,为什么可以直接调用T的func(), 不应该 t->->func()
t.getData()->func()
想的脑袋都涨掉了, 为什么t->func()可以? 按照函数的角度,它是怎么一步到位的
擦,不知道该怎么描述,反正以下几点:
1, 运算符就是函数
2,t->func()-------------等价于-t.operator ->()->func();
同理,加号运算符
a+b --------简写
a.operator+(b)---显示调用
资料: c++程序设计语言, p233
阅读(586) | 评论(0) | 转发(0) |