• 内联函数inline


    《thinking in C++》page210

    在c++中,宏的概念是作为内联函数(inline function)来实现的,而内联函数无论从那一个方面上说都是真正的函数,编译器会检测内联函数的参数类型,返回值等。唯一不同于普通函数的地方就是在适当的地方像宏一样展开。所以不需要调用开销(参数压栈,生成汇编语言的CALL,返回参数,执行汇编语言的RETURN)。

    内联函数的定义:

    (1)任何在类中定义的函数,自动成为内联函数

    (2)非类的函数加上inline关键字,但是必须是函数体和声明结合在一起,否则编译器将他当做普通函数。例如inline int plusOne(int x);,然后在别的地方定义这个函数。这是没有任何效果的,编译器不会把它当做内联函数

            必须inline int plusOne(int x){return ++x;}才行。

    (3)一般应该把内联函数放在头文件中,当编译器看到这个定义时,它把函数类型(函数名和返回值)和函数体放到符号表里。

    (4)内联函数常用于类的访问函数access function

  • 相关阅读:
    为什么java设置了xmx后,进程的占用内存会超过设置
    Linux下设置tomcat的内存大小
    CentOS7安装mysql8
    快捷键
    nginx日志配置
    使用loadNibNamed加载xib后,程序crash
    atom安装power-mode插件让编辑器开启震动模式
    Mockito (四)
    Mockito (三)
    Mockito (二)
  • 原文地址:https://www.cnblogs.com/cplinux/p/5604133.html
Copyright © 2020-2023  润新知