***非静态成员函数(Nonstatic Member Functions)*** C++的设计准则之一就是:nonstatic member function至少必须和一般的nonmember function有相同的效率。也就是说,如果我们要在以下两个函数之间作选择: float magnitude3d(const Point3d *this) { ... } 那么选择member function不应该带来什么额外负担。因为编译器内部已将“member函数实体”转化为对等的“nonmember函数实体”。下面是magnitude()的一个nonmember定义: float Pointer3d::magnitude() const 现在,对该函数的每一个调用操作也都必须转换: obj.magnitude(); |
