C++--内联函数


当调用一个函数时,程序就会跳转到该函数,函数执行完毕后,程序又返回到原来调用该函数的位置的下一句。
函数的调用也需要花时间,C++中对于功能简单、规模小、使用频繁的函数,可以将其设置为内联函数。
内联函数(inline function)的定义和调用和普通函数相同,但C++对它们的处理方式不一样。如果一个函数被定义为内联函数,在编译过程中,C++将用内联函数程序代码替换对它的调用。
内联函数声明或定义时,将 inline 关键字加在函数的返回类型前面就可以将函数定义为内联函数,格式如下:

inline 返回值类型 函数名(形式参数表)
{
    … //函数体
}
//普通函数调用
int square(int x)
{
	return x * x;
}

int main()
{
	int a = square(3);
	int b = square(4);
	int c = square(5);
	cout << a << "," << b << "," << "," << c << endl;
	return 0;
}

通过调试->反汇编可以观察在第9行,第10行,第11行都会调用square函数,在反汇编中call指令为函数调用。(仅作了解)


为了查看内联效果,可以在编译器中进行下面的设置:

通过调试->反汇编,可以观察在第9行,第10行,第11行没有函数调用(没有call指令)。



注意:内联只是向编译器发出的一个请求,编译器可以选择忽略这个请求。
一般来说,内联机制用于优化规模较小,流程简单,频繁调用的函数。
要使用内联函数,必须采取下述措施之一:
●在函数声明前加关键字inline;
●在函数定义前加关键字inline。


本篇完!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/506991.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

中视频双去重,一键多平台,可达日入2000+

【核心】将不可复制的飞书文档&#xff0c;用大模型二创&#xff0c;进而生成思维导图&#xff08;视频&#xff09;&#xff0c;以下全过程使用工具半自动完成。 【飞书】https://puojikpj98.feishu.cn/docx/KUNad8Y0UoFHEexMyAfc7sA1nQf 【文案】 中视频双去重与多平台发布项…

Java中的static关键字

人不走空 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌赋&#xff1a;斯是陋室&#xff0c;惟吾德馨 目录 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌…

C语言数据结构易错知识点(6)(快速排序、归并排序、计数排序)

快速排序属于交换排序&#xff0c;交换排序还有冒泡排序&#xff0c;这个太简单了&#xff0c;这里就不再讲解。 归并排序和快速排序都是采用分治法实现的排序&#xff0c;理解它们对分支思想的感悟会更深。 计数排序属于非比较排序&#xff0c;在数据集中的情况下可以考虑使…

四年旅程,一路成长——小雨的创作纪念日

四年旅程&#xff0c;一路成长——小雨的创作纪念日 收到来信&#xff0c;回顾与再开始回首起点&#xff0c;初探技术世界持续前行&#xff0c;从坚持到自信今日之感&#xff0c;持续分享与感恩【3.19故事对话】我一定可以&#xff01;“新”认知状态变化感受复盘 朝着未来&…

探索AI技术创业的未来机遇

目录 前言1 特定行业定制化AI解决方案1.1 数字化转型的迅猛发展1.2 AI技术的广泛应用1.3 定制化的需求与机会 2 智能产品和服务智慧改变生活2.1 智能硬件产品的崭新机遇2.2 基于AI的软件服务的新视野 3 教育和培训AI智能赋能未来人才3.1 AI技术引发的人才需求增长3.2 AI相关教育…

springboot实战---7.springboot制作Docker镜像

&#x1f388;个人主页&#xff1a;靓仔很忙i &#x1f4bb;B 站主页&#xff1a;&#x1f449;B站&#x1f448; &#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏 &#x1f917;收录专栏&#xff1a;SpringBoot &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&…

二. CUDA编程入门-Stream与Event

目录 前言0. 简述1. 执行一下我们的第九个CUDA程序2. Stream是什么3. Streams实验(单流vs多流)4. 如何隐藏延迟(memory)5. 如何隐藏延迟(kernel)6. 如何隐藏延迟(kernelmemory)7. 代码分析总结参考 前言 自动驾驶之心推出的 《CUDA与TensorRT部署实战课程》&#xff0c;链接。记…

AMD GPUs - Radeon™ PRO W7900与NVIDIA 4000系列GPU性能

文心一言 RTX 4090的性能高于AMD Radeon PRO W7900。 RTX 4090具有760亿个晶体管、16384个CUDA核心和24GB高速镁光GDDR6X显存&#xff0c;在4K分辨率的游戏中持续以超过100FPS运行。RTX 4090采用全新的DLSS 3技术&#xff0c;相比3090TI&#xff0c;性能提升可达2~4倍&#x…

Python程序设计 多重循环

教学案例六 多重循环 1.n之内的素数 输入n&#xff0c;显示n之内的所有素数 每行显示10个素数 例如&#xff0c;若输入500&#xff0c;结果如图所示 neval(input()) #代码开始 c 0for i in range(2, n1):for j in range(2, i):if i % j 0:breakelse:c 1print("{:5d}…

机器人---人形机器人之技术方向

1 背景介绍 在前面的文章《行业杂谈---人形机器人的未来》中&#xff0c;笔者初步介绍了人形机器人的未来发展趋势。同智能汽车一样&#xff0c;它也会是未来机器人领域的一个重要分支。目前地球上最高智慧的结晶体就是人类&#xff0c;那么人形机器人的未来会有非常大的发展空…

MyBatis 参数重复打印的bug

现象 最近有个需求&#xff0c;需要在mybatis对数据库进行写入操作的时候&#xff0c;根据条件对对象中的某个值进行置空&#xff0c;然后再进行写入&#xff0c;这样数据库中的值就会为空了。 根据网上查看的资料&#xff0c;选择在 StatementHandler 类执行 update 的时候进…

什么品牌的护眼台灯比较好?收获好评的护眼台灯十大品牌推荐!

在这个数字时代&#xff0c;保护双眼的健康愈发受到人们的重视。而护眼台灯&#xff0c;作为守护视力的得力助手&#xff0c;其品牌选择至关重要。究竟什么品牌的护眼台灯比较好呢&#xff1f;今天&#xff0c;我将为大家推荐收获好评的护眼台灯十大品牌&#xff0c;这些品牌凭…

前端-css-01

1.CSS 长度单位和颜色设置 1.1CSS 中的长度单位 px 像素 em 字体大小的倍数&#xff08;字体默认是16px&#xff09; % 百分比 1.2CSS 中的颜色设置方式 1.2.1使用颜色名表示颜色 red、orange、yellow、green、cyan、blue、purple、pink、deeppink、skyblue、greenyellow .…

火鸟门户—团购秒杀

团购杀秒 简介 团购秒杀是一种基于社交裂变的电商模式&#xff0c;用户可以发起或参与拼团&#xff0c;以后续的价格购买商品。团购秒杀可以有效提升商品销量、引流新用户、增强用户粘性。 功能 团购&#xff1a;用户可以发起或参与拼团&#xff0c;以不同的价格购买商品。 秒杀…

docker部署修改主机网络

教学版教程&#xff1a;docker 部署教学版本-CSDN博客文章浏览阅读1.1k次&#xff0c;点赞23次&#xff0c;收藏18次。1&#xff09;docker 部署mysql、redis、nginx ;2)docker compose一键单机部署&#xff1b;3&#xff09;docker网络&#xff1b;4&#xff09;dcocker swarn…

混合现实(MR)开发工具

混合现实&#xff08;MR&#xff09;开发工具是一系列软件和框架&#xff0c;它们使得开发者能够创建和优化能够在虚拟与现实世界之间无缝交互的应用程序。以下是一些在MR领域内广泛使用的开发工具。 1.Microsoft Mixed Reality Toolkit (MRTK) MRTK是一个跨平台的工具包&…

石煤酸浸提钒工艺-树脂

摘要&#xff1a;海普提钒树脂在使用中拥有更高交换容量、树脂处理量更大、吸附精度高&#xff0c;对钒的选择性更好&#xff0c;配合海普提钒离子交换富集纯化工艺设备&#xff0c;更好的保证了系统运行平稳性与可靠性。​​ #石煤酸浸提钒工艺-树脂 ​钒是一种重要的战略物资…

【小黑送书—第十八期】>>让工作自动化起来!无所不能的Python(文末送书)

随着我国企业数字化和信息化的深入&#xff0c;企业对办公自动化的效率和灵活性要求越来越高。Python作为一种开源的软件应用开发方式&#xff0c;通过提供强大丰富的库文件包&#xff0c;极大地简化了应用开发过程&#xff0c;降低了技术门槛。Python开发有哪些优势、挑战以及…

设备健康监测系统:保障设备安全与稳定运行!

前言 随着科技的不断发展&#xff0c;各种设备的使用也越来越广泛&#xff0c;从而带来了更多的设备管理和维护问题。设备健康监测系统应运而生&#xff0c;它是一种能够监测、分析和管理设备健康状况的系统&#xff0c;及时发现设备故障和降低维修成本。该系统通过实时监测设…

shell脚本发布docker springboot项目示例

docker、git、Maven、jdk8安装略过。 使git pull或者git push不需要输入密码操作方法 约定&#xff1a; 路径&#xff1a;/opt/springbootdemo&#xff0c; 项目&#xff1a;springbootdemo&#xff0c; 打包&#xff1a;springbootdemo.jar&#xff0c; docker容器名字&#x…
最新文章