成员运算符问题

[复制链接]
1501|2
 楼主| sinadz 发表于 2012-8-19 22:54 | 显示全部楼层 |阅读模式
void DeleteSurfaceElement (int eli)
{
surfelements.Elem(eli).Delete();
surfelements.Elem(eli).PNum(1) = -1;
surfelements.Elem(eli).PNum(2) = -1;
surfelements.Elem(eli).PNum(3) = -1;
timestamp = NextTimeStamp();
}
有如上所示的一个函数,函数体中每个句子都连续使用了成员运算符,比如第一句,Elem(eli)已经是一个函数,Delete怎么会被包含在里面呢?实在是不明白。请大家帮忙给解答一下。
火箭球迷 发表于 2012-8-19 23:08 | 显示全部楼层
Elem(eli) 这个函数返回的应该是一个对象吧
xsgy123 发表于 2012-8-19 23:16 | 显示全部楼层
函数返回对象的引用,而对象的引用是左值,所以可以连续使用成员运算符,包括那个赋值运算符“=”也一样,返回左值就可以了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

304

主题

2313

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部