|
|
1
44
例2:
对于内联函数,这些都不会发生。
|
|
|
2
2
|
|
|
3
2
它给出了一个编译时表达式,表示整型是否有符号。也就是说,当表达式的类型未知(在定义中)并且您想对其做些什么时,理想情况下使用它们。另一方面,宏的缺点是它们的参数可能会被计算多次,这是不好的,因为会产生副作用。
功能(
第一个实现了琐碎的
我们可以把它们用于任何积分类型。但是,返回类型的宽度总是最大的,要知道如何在两者之间进行选择有一定的困难。
)嗯,我承认
|
|
|
4
1
另外,启用调试后,通常会得到一个内联函数的“模拟”堆栈框架,这有时可能会使调试变得更容易(至少在编译/链接gcc时是这样)
除此之外,结果应该是几乎相同的。 |
|
|
5
0
类似于宏的函数在定义它们的地方为您提供绝对零的健全性检查。当你把一个宏搞砸的时候,它在一个地方可以正常工作,在另一个地方会坏掉,直到你失去了几个小时的工作/睡眠时间,你才知道为什么。类似宏的函数不会对数据进行操作,而是对源代码进行操作。有时这是好的,例如当您需要使用 文件 和 内置函数,但大多数情况下,它也可以通过内联函数来完成,内联函数在定义时会像其他函数一样检查语法。 |
|
|
MaPo · Linux,设置锁定ICMP_过滤器选项 1 年前 |
|
Doohyeon Won · 内联函数上的奇怪现象?[关闭] 1 年前 |
|
|
Bobby · 复合字面值总是左值吗? 1 年前 |
|
9-Pin · C: 嵌套结构的堆栈内存分配 1 年前 |