类似Python的||和&& for if in C ++

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了类似Python的||和&& for if in C ++相关的知识,希望对你有一定的参考价值。

在C ++中,以下类似Python的构造是否更慢?

bool_stuff[i] || (a[i]=1);

比较平凡的老

if(!bool_stuff[i])
  a[i]=1;

原因是,我在嵌套的for循环中有上述片段,这是唯一的声明。我认为在前一种情况下可读性更高,但只有在前者不安全或速度慢的情况下才能使用后者。

答案

They compile to the same thing(如果你在gcc中使用-O0以上的任何优化,可能在其他编译器中)。

第一种方法的其他缺点是右边的表达式必须可转换为bool(如果它无缘无故地调用operator bool),并且,如果operator||过载,它实际上不会短路。

if语句更具可读性和速度。

以上是关于类似Python的||和&& for if in C ++的主要内容,如果未能解决你的问题,请参考以下文章

如何计算 <fo:region-before /> 高度?

在 Python 中使用 AT&T Speech to Text API

xsl:fo 在一个块中使用不同的颜色/字体

在 Python 中解析类似字典的 URL 参数

python学习(二十八)URL编码和解码&签名规则需求练习

python学习笔记-(十四)进程&协程