类似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 ++的主要内容,如果未能解决你的问题,请参考以下文章
在 Python 中使用 AT&T Speech to Text API