`
hulianwang2014
  • 浏览: 681054 次
文章分类
社区版块
存档分类
最新评论
  • bcworld: 排版成这样,一点看的欲望都没有了
    jfinal

C/C++中内联(inline)函数的优点和缺点

 
阅读更多


优点

缺点

1. 内联函数代码被放入符号表中,在使用时进行替换,和宏展开一样,效率很高;

1. 不允许过多的代码,代码过多的话会造成大的内存消耗,最好在5行以内;

2. 编绎器在调用一个内联函数,首先会检查参数问题,保证调用正确,与对待普通的函数一样,消除了隐患及局限性;

2. 不允许有循环或者开关语句,如果有的话,执行函数代码时间比调用开销大。

3.与其它函数一样,可以使用所在类的保护成员及私有成员。


分享到:
评论

相关推荐

    c++中的内联函数inline用法实例

    如果在类中未给出成员函数定义,而又想内联该函数的话,那在类外要加上 inline,否则就认为不是内联的。内联函数的inline要加在函数前面,不可以加在声明前面。 class A { public:void Foo(int x, int y) { } // ...

    C/C++中static,const,inline三种关键字详细总结

    一、关于staticstatic 是C++中很常用的修饰符,它被用来控制变量的存储方式和可见性,下面我将从 static 修饰符的产生原因、作用谈起,全面分析static 修饰符的实质。 static 的两大作用: 一、控制存储方式 static...

    C++ 实验1 重载函数和内联函数的应用 

    ② 利用内联函数编程求出自然数1~10中各个数的立方值 实验总结: 1、掌握了重载函数概念及用法。C++ 允许多个函数拥有相同的名字,只要它们的参数列表不同就可以,这就是函数的重载(Function Overloading)。借助...

    详解C++中的内联函数和函数重载

    C++提供一种提高效率的方法,即在编译时将函数调用处用函数体替换,类似于C语言中的宏展开。这种在函数调用处直接嵌入函数体的函数称为内联函数(inline function),又称内嵌函数或内嵌函数。 指定内联函数的方法很...

    C++中inline函数详解

    本文主要记录了C++中的inline函数,也就是内联函数,主要记录了以下几个问题: 一、C++为什么引入inline函数? 主要目的:用它代替C语言中表达式形式的宏定义来解决程序中函数调用的效率问题。 C语言中的宏定义:#...

    详解C++中的inline用法

    在c/c++中,为了解决一些频繁调用的小函数大量消耗栈空间(栈内存)的问题,特别的引入了inline修饰符,表示为内联函数。 栈空间就是指放置程序的局部数据(也就是函数内数据)的内存空间。 在系统下,栈空间是有限...

    内联函数-14.08.25

    对 C++ 内联函数进行了说明

    C++内联汇编示例

    工程主要时C++内联汇编的示例,内部简单的用汇编实现了函数传参及调用,循环以及if语句的实现

    c++内联函数(inline)使用详解

    主要介绍了c++内联函数(inline)使用详解,需要的朋友可以参考下

    C++编程中队内联函数的理解和使用

    主要介绍了C++编程中队内联函数的理解和使用,简单举例讲解了inline关键字引出的内联函数的相关知识,需要的朋友可以参考下

    c++中inline的用法分析

    与非inline函数不同的是,inline函数必须在调用该函数的每个文本文件中定义。当然,对于同一程序的不同文件,如果inline函数出现的话,其定义必须相同。对于由两个文件compute.C和draw.C构成的程序来说,程序员不能...

    C++类的内联成员函数应放在哪

    复习C++ Primer的时候,看到了关于C++类的内联成员函数的放置,应该放在头文件中。那么这到底是为什么呢?仅仅是一种代码规范问题还是必须这样做呢?  下面我来讲讲我自己的理解吧。要彻底理解这个问题,首先要...

    C++ 关键字 inline详细介绍

    在C++中我们通常定义以下函数来求两个整数的最大值: 代码如下:int max(int a, int b){ return a > b ? a : b;} 为这么一个小的操作定义一个函数的好处有: ① 阅读和理解函数 max 的调用,要比读一条等价的条件...

    如何区分C++中的inline和#define宏

    (1)什么是内联函数?...1、 inline 定义的类的内联函数,函数的代码被放入符号表中,在使用时直接进行替换,(像宏一样展开),没有了调用的开销,效率也很高。 2、 很明显,类的内联函数也是一个真

    inline hook内联汇编dll之屏蔽记事本粘贴功能

    inline hook内联汇编dll之屏蔽记事本粘贴功能,HOOKAPI函数SetClipboardData源代码,编译环境是VS05版

    52_虚函数可以声明为inline吗1

    class Derived :public Base {//从语法上讲,这可以写成inline,只是当基类指针调派类时,不能内联,编译器会动忽略掉inline/

Global site tag (gtag.js) - Google Analytics