类似蟒蛇 ||和 &&for if in C++
Python-like || and && for if in C++
以下类似Python的构造在C++中是否更慢?
bool_stuff[i] || (a[i]=1);
比较平原老
if(!bool_stuff[i])
a[i]=1;
原因是,我将上面的代码片段放在嵌套的for
循环中,这是唯一的语句。我认为前一种情况下的可读性更高,但只有在前一种不安全或速度慢的情况下才应使用后者。
它们编译为相同的东西(如果您在 gcc 中使用上述任何优化-O0
,也可能在其他编译器中使用(。
第一种方法的其他缺点是,右侧的表达式必须可转换为bool
(如果无缘无故有副作用,则调用operator bool
(,并且如果operator||
过载,它实际上不会短路。
if
语句的可读性更强,速度也相同。
相关文章:
- 如何计算"numbers in for"的数量
- protobuf in C++ with dynamic binding for google::protobuf::M
- C++ Python 循环"for i, num in enumerate(list):"版本
- Hash for a std::pair, for use in an unordered_map
- "How to make a recursive call for palindrom numbers without reverse function in c++?"
- 从 for 循环返回每个值 in C++
- 类似蟒蛇 ||和 &&for if in C++
- JNIEnv->GetMethodID for createRealMatrix(double [][] data) in org/apache/commons/math3/linear/Mat
- 迭代在包含向量的vor in for for范围循环中迭代
- 错误"request for member 'nombreIntr' in 'jugadorActual'"
- sizeinbase for mpz_class in GNU GMP
- QThread 中的 QTcpSocket 将提交事务,但当 Write 被调用时"Cannot create children for a parent that is in a different
- "no match for ‘operator>>’ in ‘inputFile >> buffer"错误?
- 如何修复" no match for 'operator<<' in 'std::cout"错误?
- is compare_exchange_weak for std::shared_ptr broken in msvs
- SWIG/Lua typemap for Boost Array in
- 对于相互转换的类型,有没有办法绕过"deduced conflicting types for parameter in template instantiation"?
- What are __builtin__functions for in C++?
- C++ and for/in (?) loops
- "non-virtual thunk to <method name>" ,引用自:Vtable <classname>for in <objectfile.o>