C++内置成员函数
2017-05-10 本文已影响0人
stefanJi
在类中定义的函数一般规模较小,而系统调用函数的过程所花费的时间开销相对是比较大的。调用一个函数的时间远远大于小规模函数体中的全部语句的执行时间。
为了减少时间开销,如果在类体中定义的成员函数不包括循环等控制结构,C++系统就会把它们作为内置函数处理。
- 对于一般的函数,需要显式使用
inline
关键字声明,但对于类内定义的成员函数,可以省略inline
,因为这些成员函数已被隐含地指定为内置函数。
class Student {
public:
void display() {
cout << age << " " << num << " " << name << endl;
}
private:
int num;
int age;
string name;
};
两段代码对display
函数的定义等效。
class Student {
public:
inline void display() {
cout << age << " " << num << " " << name << endl;
}
};
-
对于类体外定义的成员函数
系统不会把它默认为内置函数,调用这些成员函数和调用一般函数一样。可以使用inline
显示声明这些成员函数为内置函数。class Student { public: void display(); private: int num; int age; string name; }; inline void Student::display() { cout << num << age << name << endl; }
但是,如果要这样做,必须让类的声明和实现在同一个源文件中。一般不这样做,除非这个类外定义的函数的使用频率较高,才指定为内置函数。