在类内部定义的函数都是inline函数,注意,是类内部定义,不是外部!
class A
{
public:
A();
int width(){
return width;
}
void width(int wid){
width=wid;
}
void out();
private:
int width;
};
void A::out()
{
cout<<widht;
}
上面的代码中,int width() 和void width(int wid)都是inline函数,而out()则不是inline。
由于inline函数在没有call,入栈,出栈等操作,所以会比同等情况下的非inline函数效率高,但是当函数太长时,不宜用inline函数,因为如果函数太长,复制这份代码到调用的地方,也会耗费内存。