成员运算符这样用是什么意思?解决思路
成员运算符这样用是什么意思?
[code=C/C++][/code]
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怎么会被包含在里面呢?实在是不明白。请大家帮忙给解答一下。
------解决方案--------------------
Elem(eli) 这个函数返回的应该是一个对象吧
------解决方案--------------------
是一个对象 “return ((T*)data)[i-1];”
------解决方案--------------------
是一个对象
------解决方案--------------------
------解决方案--------------------
函数返回对象的引用,而对象的引用是左值,所以可以连续使用成员运算符,包括那个赋值运算符“=”也一样,返回左值就可以了
[code=C/C++][/code]
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怎么会被包含在里面呢?实在是不明白。请大家帮忙给解答一下。
------解决方案--------------------
Elem(eli) 这个函数返回的应该是一个对象吧
------解决方案--------------------
是一个对象 “return ((T*)data)[i-1];”
------解决方案--------------------
是一个对象
------解决方案--------------------
------解决方案--------------------
函数返回对象的引用,而对象的引用是左值,所以可以连续使用成员运算符,包括那个赋值运算符“=”也一样,返回左值就可以了