内联成员函数及隐、显式声明

函数的调用过程需要消耗一些内存资源和运行时间来传递参数和返回值,要记录调用时的状态,以便保证调用完成后能够正确地返回并继续执行。
如果有的函数成员需要被频繁调用,而且代码比较简单,这个函数也可以定义为内联函数。
内联成员函数的函数体,也会在编译时被插入到每一个调用它的地方。这样做可以减少调用的开销,提高执行的效率,但是却增加了编译后代码的长度。所以要在权衡利弊的基础上慎重选择,只有对相当简单的成员函数才可以声明位内联函数。

其中内联函数分为俩种:隐式声明和显式声明。

隐式声明:
将函数体直接放进类体内,这种方法称之为隐式声明。
class A
{
public:
    void func(int x,int y){i=x;j=y;}     //成员函数func()是内联函数
    void print(){cout<<"两数相乘为:"<<i*j<<endl;}  //成员函数print()是内联函数

private:
    int i,j;
};

显式声明:
为了保证类的简洁,可以采取关键字inline显式声明的方式。
class A
{
public:
    void func(int x,int y);{i=x;j=y;}     //成员函数func()是内联函数,隐式内联
    void print();          //显式声明

private:
    int i,j;
};

inline void A::print(){
cout<<"两数相乘为:"<<i*j<<endl;
}

发布了19 篇原创文章 · 获赞 21 · 访问量 1000

猜你喜欢

转载自blog.csdn.net/weixin_43742894/article/details/84339856
今日推荐