1,自动对象与静态局部对象
![](https://img-blog.csdn.net/20151015211653377?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
在函数内定义的,不加static修饰的即为自动(auto)对象。
形参也是自动对象。
自动对象都在函数执行结束时撤销。
2,内联函数
定义方式:在普通的定义前面加inline关键字
inline int count_calls()
{
static int i = 0;
return ++i;
}
效果:编译器将内联函数直接展开,节省开销,适用于只有几行的小函数
定义的位置:与普通函数不同,内联函数应当在头文件中定义。因为编译器要将其展开,必须知道其定义,头文件中只有函数原型是不够的。