1
2
因为它们的评估可能有副作用,也可能没有副作用,所以在维护代码的过程中,充其量会有困难——在有副作用的情况下,评估肯定会发生,在其他情况下,它的发生与否由编译器决定。这就给您留下了一个以松散控制方式运行的程序。 所以即使你不喜欢宏,你也应该做出明智的决定。要么使用宏,然后预处理器消除整个构造,而不计算参数;要么使用内联函数,然后编译器为您决定。 |
2
4
即使编译器优化了内联VERIFY函数,也不意味着它不会调用生成bool参数的函数。 qu ASSERT不调用在发布版本中传递给它的函数的原因是,它是一个宏,根本不能代替函数调用,因此没有什么可以优化的。 |
3
0
想象一下这个代码:
乐观主义者可以忽略对
|
4
0
在优化过程中,编译器仍然必须尊重手头代码的可观察效果。这意味着它必须保持
然而,优化对你来说并不重要
|
rookie · 检查函数模板的所有参数包参数是否属于int 1 年前 |
ivaigult · -W转换和隐式字符串到布尔类型转换 1 年前 |
rainer · 后台插入程序的初始化 1 年前 |
Community wiki · 以理智、安全和高效的方式复制文件 1 年前 |
Shefali Kanaujia · 对C中向量的向量进行排序++ 1 年前 |
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |