繁体   English   中英

C++ “&” vs “&&” 表达式的编译标准?

[英]C++ Compilation Standard for “&” vs “&&” Expressions?

我有一个核心 function 评估 4+ 简单算术比较以返回一个布尔值。 这将在一个非常大的循环中被称为 O(N^2) 次,并且基于返回的单个条件分支。

如果 function 写成:

    return x < y && g < h && m < n && q < r;

与使用“&”的 0 相比,它会生成 3 个条件分支吗? 此代码将公开发布,因此可以在具有许多不同编译器实现的许多不同平台上编译。

虽然单个实现可能足够聪明以优化短路,但是否将类似的内容写入标准(c++11、14、17 或 20)? 只使用“&”对性能来说会“更安全”吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM