zoukankan      html  css  js  c++  java
  • 内联函数

    什么是内联函数?

    内联函数是C++的增强特性之一,用来降低程序的运行时间。当内联函数收到编译器的指示时,即可发生内联:编译器将使用函数的定义体来替代函数调用语句,这种替代行为发生在编译阶段而非程序运行阶段。内联函数作为编译器优化手段的一种技术,在降低运行时间上非常有用。

    内联函数在什么时候使用?

    在程序中,函数被调用的同时也会降低程序的执行效率,增加空间和时间上的开销。因此,对于一些功能简单、规模较小有使用频繁的函数,可以设计为内联函数

    内联函数的定义方式:

    与普通函数不同的是,定义此函数需要使用关键字inline,语法如下:
    Inline 类型说明符 函数名(含类型说明的形参表)
    {
    语句序列
    }
    下面我们将通过一个例子来进一步认识内联函数:

    #include
    using namespace std;
    const double PI = 3.14159265358979;
    //内联函数,根据圆的半径计算其面积 
    inline double calArea(double radius)
    {
    	return PI*radius*radius;
    }
    int main()
    {
    		double r=3.0;  //r是圆的半径
    		//调用内联函数求圆的面积,编译时此处被替换为calArea函数体语句 
    	double area=calArea(r);
    cout<
    运行结果:
    
    28.2743

    通常内联函数应该是比较简单的函数,结构简单、语句少。如果将一个复杂的函数定义为内联函数,反而会造成代码膨胀,增大开销。这种情况下,多数编译器都会自动将其转化为普通函数处理。

    此外,对自身进行递归调用的函数是不能被当做内联函数处理的。

  • 相关阅读:
    boost::asio 连接管理11 如何关闭连接
    boost::asio async_write也不能保证一次发完所有数据 二
    boost::asio async_write也不能保证一次发完所有数据 一
    boost参考博客
    C++ 多线程编程总结
    Boost::asio io_service 实现分析
    使用boost io_service时,需要注意的东西
    Boost::Thread 多线程的基础知识
    boost::thread类
    Boost::thread库的使用
  • 原文地址:https://www.cnblogs.com/swpu-11415/p/11523434.html
Copyright © 2011-2022 走看看