C/C++ inline 函数

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;

相关推荐

  1. 损失函数(目标函数

    2024-04-14 16:46:01       40 阅读
  2. 字符函数字符串函数

    2024-04-14 16:46:01       34 阅读
  3. Python函数——函数介绍

    2024-04-14 16:46:01       32 阅读
  4. linux | pause函数 、alarm函数、signal函数

    2024-04-14 16:46:01       35 阅读
  5. split函数

    2024-04-14 16:46:01       34 阅读
  6. CG 函数

    2024-04-14 16:46:01       40 阅读
  7. python函数

    2024-04-14 16:46:01       42 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-14 16:46:01       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-14 16:46:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-14 16:46:01       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-14 16:46:01       20 阅读

热门阅读

  1. 如何备考蓝桥杯赛事 怎样才能取得好成绩?

    2024-04-14 16:46:01       16 阅读
  2. Arcgis windows webadaptor配置

    2024-04-14 16:46:01       17 阅读
  3. 前端面试问题汇总 - Vue篇

    2024-04-14 16:46:01       18 阅读
  4. 将基于Centos下的Linux 中的man 汉化

    2024-04-14 16:46:01       16 阅读
  5. 学术写作进阶:ChatGPT辅助下的论文撰写技巧

    2024-04-14 16:46:01       14 阅读
  6. ARM-SC2440

    2024-04-14 16:46:01       15 阅读
  7. npm 常用命令详解

    2024-04-14 16:46:01       16 阅读
  8. 每天一个数据分析题(二百六十二)

    2024-04-14 16:46:01       19 阅读
  9. 每天一个数据分析题(二百六十一)

    2024-04-14 16:46:01       16 阅读
  10. 算法与数据结构 顺序栈(C++)

    2024-04-14 16:46:01       12 阅读