一 Member的各种调用方式:
(1)C++支持三种member functions:static、nostatic和static。
(2)Nonstatic成员函数的调用:
*nonstatic member function至少必须和一般的nonmember function有相同的效率。
*编译器内部把"member函数实体"转换为对等的"nonmember 函数实体"。
(3)virtual Member Function:
*例如:ptr->fun1()将内部转化为:(*ptr->vptr[1])(ptr)。这里假设fun1在虚表中第1个索引处。
(4)static member functions:
1.static成员函数的主要特性是:没有this指针。源于主要特性的次要特性有:
*它不能直接存取类中的nonstatic data。
*不能被声明为const、volatile或virtual。
*不需要经由class object调用-虽然大部分它是这样被调用的。
二 Vitual Member Functions(非常重要):
*详见C++虚函数文件。
三 函数性能
四 指向Member Function的指针。
五 Inline Functions:
(1)关键字inline只是一个请求,编译器有复杂的计算方法(执行成本),来决定一个函数是否变成inline。
(2)inlie是#define的一个安全替代品。
(3)一个inline函数被调用太多次会产生大量的扩展码,使程序的大小暴涨。