Chinaunix首页 | 论坛 | 博客
  • 博客访问: 96273
  • 博文数量: 41
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 486
  • 用 户 组: 普通用户
  • 注册时间: 2012-05-18 20:09
文章分类

全部博文(41)

文章存档

2016年(1)

2015年(1)

2014年(9)

2013年(30)

我的朋友

分类: C/C++

2013-07-17 16:38:34


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
阅读(567) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~