C/C++中包含了一类inline函数,其只是单纯在原本函数申明或者定义前面多了一个inline
但是带来含义的确实不一样的。
如果不带inline那么主函数执行到函数入口处会跳到相应的函数代码除继续执行,在内存
中的代码段内存中这些代码不是连续的,这样肯能带来一些时间损耗
如果加入inline后函数会copy一份到主函数中,这样占用一定的内存但是不会jump(应该汇编使用的jump指令)

那么这样一来,可能inline函数适用的范围为函数代码本身代码量很少,而且执行非常快。
如果代码量大那么COPY占用的内存过多,如果执行非常慢,减少JUMP带来的提升只是
微不足道的提升,下面演示他的使用
  
  
  以下的列子为了展示3个问题
  1、inline function 申明
  2、使用typedef 定义一个函数指针的别名,并且使用它来声明一个f_p的变量接受add的地址
  3、函数返回的const类型的指针必须和在主函数中使用const int *接受
  
  1 /*************************************************************************
  2     > File Name: inline.cpp
  3     > Author: gaopeng
  4     > Mail: gaopp_200217@163.com 
  5     > Created Time: Thu 26 May 2016 09:45:18 PM CST
  6  ************************************************************************/
  7 
  8 #include
  9 
 10 typedef  const int* (*Fun_p)(const int *input);//typedef define a Fun_p alias to a function pointer 
 11 using namespace std;
 12 
 13 inline const int * add(const  int *input);
 14 int main(void)
 15 {
 16     int input = 2;
 17     const int *re;
 18     Fun_p  f_p = add;
 19     re = f_p(&input);
 20     cout<< *re <<endl;
 21 
 22 }
 23 
 24 
 25 
 26 inline const int * add(const  int *input)
 27 {   
 28     static int addva; 
 29     addva = *input+*input;
 30     return &addva;
 31 
 32 }         
</endl;

C/C++ inline 函数相关推荐

  1. 关于inline函数

    (一)inline函数(摘自C++ Primer的第三版) 在函数声明或定义中函数返回类型前加上关键字inline即把min()指定为内联. inline int min(int first, int ...

  2. C++ inline函数和宏

    1. 内联函数 在C++中我们通常定义以下函数来求两个整数的最大值: int max(int a, int b) {return a > b ? a : b; } 为这么一个小的操作定义一个函数 ...

  3. inline函数使用容易导致出错的问题

    对于inline函数,首先应该要短小(inline只是对编译器的一个建议,编译器是可以忽略的),其次inline函数的定义一定要与调用它的部分在同一个源文件里,不同的源文件可以分别定义一个相同inli ...

  4. inline函数学习笔记

    一.c++ inline函数产生原因 由于函数调用会有一定的时间和空间方面的开销,特别是对于一些函数体代码不大但又被频繁调用的函数来讲,效率是很低的. 在C语言中,可以用宏函数来提高上面那种情况的效率 ...

  5. C++的inline函数

    C++中使用const 变量替换宏定义 当然C++中也有使用inline 函数替换宏代码片段: #include <iostream>using namespace std;inline ...

  6. html中inline函数,开窗函数和窗口函数区别 inline函数和一般的函数有什么不同

    sql over开窗函数 和group by的区别 / 蓝讯如果有多个聚合函数,但是分组依据不同,此时只能使用开窗函数. 而GROUP BY要求聚合函数的分组依据一致. SQL Server中的开窗函 ...

  7. C++的优秀特性2:inline 函数

    (转载请注明原创于潘多拉盒子) Inline函数是C++的一个很小的特性,在不计较效率的情况下,这个特性似乎可有可无.然而,C++天生是为最为广泛的应用场景设计的,因此,总会有关于效率的问题.其实,除 ...

  8. 【转】 嵌入式C语言编程中Inline函数的应用

    源地址:https://blog.csdn.net/vigour1000/article/details/9622037 有一段儿时间没写写经验笔记了,哎,也是自己这一段时间以来(其实最近一直是这个状 ...

  9. Inline函数使用注意事项

    Inline函数使用注意事项 1.在一个文件中定义的inline函数不能再另一个文件中使用 2.inline函数应简洁,只有少数几个语句. 3.在inline函数中不能有循环,if,switch语句. ...

  10. C++之inline函数

    1.为什么需要inline C中的宏没有调用,参数压栈.返回操作所以比函数快,但是有参数副作用,inline为了取代这种表达式形式的宏定义,它消除了宏定义的缺点,同时又很好地继承了宏定义的优点.   ...

最新文章

  1. python 重写__repr__与__str__函数
  2. php写入变量cookie,PHP如何用数组变量给setcookie函数赋值?
  3. 学习笔记(20):Python网络编程并发编程-互斥锁与join的区别
  4. url编码函数encodeURI和encodeURIComponent
  5. iptables实现NAT
  6. 灰度共生矩阵GLCM及其matlab实现
  7. 数据结构--树形结构(1)
  8. pdf合并成一个pdf软件下载?pdf合并成一个pdf软件合成器工具
  9. dp 完全背包问题python
  10. 如何识别图片文字?这几个识别图片文字软件简单又高效
  11. .net reflector反编译破解软件
  12. import cv2 报错(linux环境)ImportError: libGL.so.1: cannot open shared object file: No such file or direc
  13. 字符编码OneHotEncoder
  14. swaks伪造钓鱼邮件
  15. [风一样的创作]Layui图标列表,二次封装
  16. HCIE必经之路(五)——OSPF综合实验(STUB及NSSA)
  17. python 梦幻西游_GitHub - BestBurning/mhxy: tensorflow实践:梦幻西游人物弹窗识别
  18. 强制用户使用定向推送功能是什么意思?整改措施请收好
  19. 基于阿里云ECS搭建云上博客!超详细图文步骤!
  20. 如何使计算机理解中医药知识,计算机技术在中医药信息学应用概

热门文章

  1. LaTeX技巧:算法标题 Algorithm如何重命名
  2. 遥感数字图像处理——第三章——空间域处理方法
  3. 遥感基础编程语言——IDL的应用
  4. 【ArcGIS操作】1 基础编辑篇
  5. curl header设置参数
  6. linux 下基本指令
  7. 计算某日是该年的第几天
  8. 4.在屏幕上输出以下图案: * *** ***** ******* ********* *********** ************* *********** *********
  9. Okhttp之同步和异步请求简单分析
  10. GitHub 标星 8w!这个开源面试总结屌爆了!