zoukankan      html  css  js  c++  java
  • 内联函数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

  • 相关阅读:
    移动端开发-禁止横屏
    奇葩的对象创建方式(更新中)
    每日积累之8.8
    每日积累 8.6
    折半查找
    linux中的amount的解释
    Redis集群错误
    每日积累 8.6
    Redis中在程序中的应用
    每日积累 8.4
  • 原文地址:https://www.cnblogs.com/cplinux/p/5604133.html
Copyright © 2011-2022 走看看