定义
内联函数:定义在类体内的函数
外联函数:定义在类体外的函数。
在类中,内联函数和外联函数执行代码的效率是一样的,但是内联函数要优于宏定义,因为编译器一般认为内联函数会更接近一般函数,会与一般函数一样进行调用。
内联函数的定义
- 隐式声明 直接将函数定义在类内
class Human{
public:
string getName(){return name;}
private:
string name;
};
2.显式声明:在类外定义,在前面加关键字inline
class Human{
public:
string getName();
void run();
private:
string name;
};
void Human::run{cout<<name<<"is running"<<endl;}
inline string getName(){return name;}//这两天函数都属于外部定义,但是只是第二个函数能叫内联函数,第一个叫外联函数(不要把内联函数和类内定义的概念搞混了。)
## 注意
1.inline必须要**紧跟**着类的定义下面,不然编译器自动当普通函数处理。
2.过长的函数不适合做内联函数。