C++inline成员函数
C++类的成员函数可以指定为内置函数,在类体中定义的成员函数的规模一般都很小,而系统调用函数的过程所花费的时间开销相对是比较大的。
C++调用一个函数的时间开销远远大于小规模函数体中全部语句的执行时间,为了减少时间开销,如果在类体中定义的成员函数中不包括循环等控制结构,C++会自动将它们作为内置函数 处理。
在程序调用这些成员函数时,并不是真正地执行函数的调用过程,而是把函数代码嵌入程序的调用点,这样可以大大减少调用成员函数的时间开销。
C++要求对一般的内置函数用关键字inline声明,但对类内定义的成员函数,可以省略inline,因为这些成员函数已被隐含地指定为内置函数。
class Student //声明学生类
{
private: //声明以下为私有的
int number; //学号
char name[10];//姓名
char sex; //性别
public: //声明以下为共有的
inline void print_info() //在类外定义打印函数
{
cout<<number<<endl;
cout<<name<<endl;
cout<<sex<<endl;
}
};
在C++中,如果成员函数不在类体内定义,而在类体外定义,系统并不会默认为内置函数,调用这些成员函数的过程和调用一般函数的过程是相同的,如果想将这些成员函数指定为内置函数,应当用inline作显式声明。