Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/152.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++;11和if(整数)_C++_If Statement_C++11 - Fatal编程技术网

C++ C++;11和if(整数)

C++ C++;11和if(整数),c++,if-statement,c++11,C++,If Statement,C++11,在C++11写if子句中它仍然有效且良好吗 int i; //some code if (i) //some code 或者更喜欢写 if(i != 0) 将整型POD类型用作条件表达式是有效的 我认为在C++11中没有任何要求使用一种样式而不是另一种样式 因此,选择您喜欢的样式。这是定义良好的行为,因此您可以使用较短的表达式。对于一个没有经验的开发人员来说,这似乎很神秘,但常客在理解它时应该不会有问题 当显式地将i视为一个数字时,使用较长的形式可能有一定的意义,当它有其他逻辑意义时,可以省

在C++11写if子句中它仍然有效且良好吗

int i;
//some code
if (i) //some code
或者更喜欢写

if(i != 0)

将整型POD类型用作条件表达式是有效的

我认为在C++11中没有任何要求使用一种样式而不是另一种样式


因此,选择您喜欢的样式。

这是定义良好的行为,因此您可以使用较短的表达式。对于一个没有经验的开发人员来说,这似乎很神秘,但常客在理解它时应该不会有问题


当显式地将
i
视为一个数字时,使用较长的形式可能有一定的意义,当它有其他逻辑意义时,可以省略它。

如果你能帮助它,为什么不那么显式和不那么自解释呢?特别是在很少努力的情况下。@GrantThomas:如果整数是指针或包含指针值,If(i)是If(i!=nullptr)的常用缩写,即If“存在”。在这种情况下,我认为速记实际上比长形式更抽象和直观。然而,我确实同意,在其他99%的情况下,这不是理想的形式——最好是更明确一些。最终,C++11在这方面没有任何改变。无论你以前有什么好的理由找到好的实践,都要坚持下去。