1
6
假设函数体在编译时或链接时可用(即,它不在动态链接库中),大多数现代编译器应该摆脱对不执行任何操作的函数的调用(当然,如果启用了优化)。 实际上,这只是内联扩展的一种形式,它允许函数体在调用它的任何地方进行扩展,只要结果相同。如果函数不执行任何操作,那么它只会在内联的任何位置扩展为Nothing。 |
2
4
这样的简单函数将被内联并删除。 对于gcc,输入如下
结果(与
注意不要打电话给
|
3
1
如果对domaybenothing的调用在同一个源文件中,那么大多数现代编译器都会完全优化它。 如果调用在一个单独的源文件中,特别是如果它在不同的库中,那么您通常会得到函数调用的少量开销,但是函数会立即返回。 还有一件事:这听起来像是过早的优化。在你介绍你的程序之前,不要担心这样的事情。 |
4
0
除了已经提到的其他答案外,还有一个需要考虑的问题是
或
|
rookie · 检查函数模板的所有参数包参数是否属于int 1 年前 |
ivaigult · -W转换和隐式字符串到布尔类型转换 1 年前 |
rainer · 后台插入程序的初始化 1 年前 |
Community wiki · 以理智、安全和高效的方式复制文件 1 年前 |
Shefali Kanaujia · 对C中向量的向量进行排序++ 1 年前 |
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |