C++内置成员函数

在类中定义的函数一般规模较小,而系统调用函数的过程所花费的时间开销相对是比较大的。调用一个函数的时间远远大于小规模函数体中的全部语句的执行时间。

为了减少时间开销,如果在类体中定义的成员函数不包括循环等控制结构,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;
    }
    

但是,如果要这样做,必须让类的声明和实现在同一个源文件中。一般不这样做,除非这个类外定义的函数的使用频率较高,才指定为内置函数。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • //出自51博客:www.Amanda0928.51.com 第一章 一、选择题 1.B; (typedef ,t...
    Damongggggg阅读 13,864评论 0 1
  • 基本概念 1a general-purpose programming language用于创建计算机程序。艺术类...
    伍帆阅读 5,235评论 0 1
  • 再读高效c++,颇有收获,现将高效c++中的经典分享如下,希望对你有所帮助。 1、尽量以const \enum\i...
    橙小汁阅读 5,004评论 0 1
  • 我们知道,在同一类中是不能定义两个名字相同、参数个数和类型都相同的函数的,否则就是“重复定义”。但是在类的继承层次...
    踩在浪花上00阅读 3,328评论 0 1
  • 华为出来创业的,有一个很明显的弱点和强点,就是擅长搞定项目,却没有办法搞定流量,在华为体系中搞定流量的能力是比较差...
    a5d587239395阅读 4,059评论 0 0

友情链接更多精彩内容