首页 > 其他分享 >inline作用

inline作用

时间:2023-05-07 21:11:05浏览次数:33  
标签:头文件 函数 定义 内联 inline 作用 define

inline就是定义内联函数

内联函数像普通函数一样被调用,但是被调用时不通过函数调用的机制,而是在调用点处直接展开,这样可以大大减小函数调用带来的开销,增加程序的运行效率

inline产生的原因之一就是用来替换#define,以前用define替换一些简单的函数来减小开销,但是define没有安全性检查,而换用inline就可以很好解决这些问题

类内定义的成员函数除虚函数外都自动称为内联函数,类外定义内联函数则需要在前面加上inline关键字,inline必须要和函数定义体在一起才能发挥作用,和函数声明在一起则不起作用

 

头文件中不能定义函数,这是因为在编译时多个源文件都include头文件后,则会出现函数重定义的错误

用inline在头文件中定义函数则不会出现这个问题,编译器能够保证

 

标签:头文件,函数,定义,内联,inline,作用,define
From: https://www.cnblogs.com/cintang/p/17380170.html

相关文章

  • X Y电容作用
    转载  1.X电容作用X电容滤差分信号,一般用在开关电源的输入。跨接L和N线之间,L和N线之间是220V的电压。L和N之间是交流,电容是隔直通交的,放在这里的电容,不可以太大。如果X电容容量非常大,容抗会非常低,是1/(2πfc)。容抗低了,L和N220V就电流会大,会存在风险的,电流直通了。1/(2ΠfC)......
  • Spring中@Bean注解的作用以及如何使用
    Spring中@Bean注解的作用以及如何使用一、Bean是啥1、Java面向对象,对象有方法和属性,那么就需要对象实例来调用方法和属性(即实例化); 2、凡是有方法或属性的类都需要实例化,这样才能具象化去使用这些方法和属性; 3、规律:凡是子类及带有方法或属性的类都要加上注册Bean到SpringIo......
  • #define和inline的区别(转)
    原文:https://blog.csdn.net/weixin_43870837/article/details/107350586特性差异对于两者的区别涉及到c与c++语言两者的差异性。C++有着更加严格编译系统,这使得C++程序的错误在编译阶段即可发现许多问题,从而使得出错率大为减少。也正是因为如此,c++中引入inline来代替define的功......
  • 第十节(变量作用域)
    前面的笔记中介绍过在函数内部声明的变量与在函数外部声明的变量不同。其实这已经介绍了变量作用域的概念,只是你还不知道而已。变量作用域是C语言中的重要部分。本次将介绍以下内容:●变量作用域的概念及其重要性●什么是外部变量,为何要避免使用它们●局部变量的细节●静态变量和自......
  • Linux各目录作用
    打开Ubuntu20.04系统,根目录如下:1、binbin为binary的简写,主要放置系统的必备执行文件,各种命令的实现在这个目录中。2、sbin主要放置系统管理的必备程序,root用户的命令在这个目录中。3、devdev为device的缩写,储存硬件设备信息。4、lib和lib64lib为library的缩写,lib存放着......
  • k22_break_continue_goto的作用
    break、continue、goto在我们使用循环的时候,总避免不了会遇到紧急情况,如刚好在某一次循环中获得了想要的值怎么办,答案是直接终止循环,在java中就给我们提供了这个功能。break:直接跳出当前循环。continue:跳出当前循环。goto:breakbreak主要用在循环语句或者switch语句中,用来......
  • JDK----下载、作用、安装、配置
      官网JDK下载地址http://www.oracle.com/technetwork/java/javase/downloads/index.html   JDK介绍:java开发、调试需要安装JDK(包括javac编译、JRE等)只运行java程序只需安装JRE(包括javaAPI类库和JVM虚拟机)JRE  JDK环境变量配置及作用:安装完JDK后在cmd中输入java报错“不是内......
  • js基础--this的作用域、函数的调用与bind高阶函数
    this的作用域箭头函数也无法通过call、apply改变this箭头函数也没有arguments函数的调用并指定this使用call调用时先指定参数this,后指定实参。。apply则是数组传递实参bind高阶函数:可以创建一个新的函数并锁死this与实参......
  • 智能工单系统有什么作用?
    智能工单系统作为辅助企业处理客户问题的重要工具,能够满足企业为客户提供高效服务的需求。及时响应服务需求,智能传递和分发工单,实现公司各部门线上线下服务的高效协同,快速解决用户问题。那么智能工单系统有什么作用?1、打破服务缺口,让客户“零”等待在互联网时代,企业面临的信息是......
  • CesiumWidget.js的作用
    顾名思义,CesiumWidget就是cesium小部件的意思。但是,cesium包含哪些小部件?这些小部件又有哪些意义?这些小部件是不可或缺的吗?看《Cesium原理篇:1最长的一帧之渲染调度》讲,好像cesium的启动就是由widget来触发的?CesiumWidget.jsstartRenderLoop函数需要传入一个widget参数。这个w......