社区
C++ 语言
帖子详情
内联函数什么时候展开
耶鲁於
2013-06-19 04:44:38
内联函数是在预编译时候展开呢还是在编译的时候展开?
...全文
1508
5
打赏
收藏
内联函数什么时候展开
内联函数是在预编译时候展开呢还是在编译的时候展开?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
耶鲁於
2013-06-19
打赏
举报
回复
大家说得很对,我想也是在编译的时候
zy_cs_dn_zy
2013-06-19
打赏
举报
回复
编译时 inline不是预处理指令
赵4老师
2013-06-19
打赏
举报
回复
引用 2 楼 Dobzhansky 的回复:
inline 是个建议, 建议直接生成机器代码
如果想强制生成机器代码可以使用嵌入汇编指令。X86用__asm
Dobzhansky
2013-06-19
打赏
举报
回复
inline 是个建议, 建议直接生成机器代码
rocktyt
2013-06-19
打赏
举报
回复
编译时 内联函数要检查类型的
内联函数
的使用_
内联函数
的使用_
MATLAB中的
内联函数
借鉴了C语言中的
内联函数
,在C语言中,
内联函数
是通过编译器控制来实现的,它只在需要用到的时候,
内联函数
像宏一样的
展开
,所以取消了函数的参数压栈,减少了调用的时间和空间开销。在MATLAB中也有类似的性质。由于
内联函数
是储存于内存中而不是在M文件中,省去了文件访问的时间,加快了程序的运行效率。
深入探讨:宏、
内联函数
与普通函数的区别
内联函数
的执行过程与带参数宏定义很相似,但参数的处理不同。带参数的宏定义并不对参数进行运算,而是直接替换;
内联函数
首先是函数,这就意味着函数的很多性质都适用于
内联函数
,即
内联函数
先把参数表达式进行运算求值,然后把表达式的值传递给形式参数。
内联函数
与带参数宏定义的另一个区别是,
内联函数
的参数类型和返回值类型在声明中都有明确的指定;而带参数宏定义的参数没有类型的概念,只有在宏
展开
以后,才由编译器检查语法,这就存在很多的安全隐患。 使用
内联函数
时,应注意以下问题: 1)
内联函数
的定义性声明应该出现在对该函数的第一次调用之前。 2)
内联函数
首先是函数,函数的很多性质都适用于内
《C经典面试》编译链接、指针、内存bug、函数、其它
课程内容:1.编译链接:编译链接过程、预编译、存储类、生命周期、作用域、链接域等2.指针:指针概念、数组相关的指针、字符串指针、函数指针等3.内存bug:内存越位、内存覆盖、使用非法内存、内存泄露等。4.函数:自定义函数、
内联函数
、回调函数、变参函数、递归函数、库函数等5.其它:自动类型转换、数据溢出、结构体对齐、volatile、typedef、assert宏、逗号表达式、++/--等
Python 如何定义匿名或
内联函数
主要介绍了Python 如何定义匿名或
内联函数
,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
详解C++中的
内联函数
和函数重载
内联函数
(内嵌函数,内置函数) 调用函数时需要一定的时间和空间的开销。C++提供一种提高效率的方法,即在编译时将函数调用处用函数体替换,类似于C语言中的宏
展开
。这种在函数调用处直接嵌入函数体的函数称为
内联函数
(inline function),又称内嵌函数或内嵌函数。 指定
内联函数
的方法很简单,只需要在定义函数时增加 inline 关键字。 注意:是在函数定义时增加 inline 关键字,而不是在函数声明时。在函数声明时增加 inline 关键虽然没有错误,但是也没有任何效果 inline 关键字放在函数声明处不会起作用: inline void swap(int &a, int &b);
C++ 语言
64,648
社区成员
250,476
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章