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

  • 相关阅读:
    OCP-1Z0-053-V12.02-655题
    OCP-1Z0-053-V12.02-656题
    OCP-1Z0-053-V12.02-639题
    EXCEL文件打开缓慢的问题解决
    IOCP底层,支持超过15000个连接
    OCP-1Z0-053-V12.02-340题
    OCP-1Z0-053-V12.02-338题
    OCP-1Z0-053-V12.02-336题
    OCP-1Z0-053-V12.02-334题
    OCP-1Z0-053-V12.02-333题
  • 原文地址:https://www.cnblogs.com/cplinux/p/5604133.html
Copyright © 2011-2022 走看看