相关疑难解决方法(0)

将常量放在if语句中的原因是什么?

我正在查看我正在使用的硬件接口的一些示例C++代码,并注意到以下几行中的许多语句:

if ( NULL == pMsg ) return rv;
Run Code Online (Sandbox Code Playgroud)

我敢肯定我听过有人说将常数放在第一位是一个好主意,但为什么呢?是否只是如果你有一个大的声明,你可以很快看到你正在比较什么,或者还有更多吗?

c++ if-statement coding-style constants

60
推荐指数
5
解决办法
7711
查看次数

如果(假==条件).为什么?

我收到了之前工作过的人的代码,它包含很多行

while(false==find && false == err && k<kmax)
if(true==refract(ep1,ep2,n1,RI_blood, RI_collagen))
Run Code Online (Sandbox Code Playgroud)

我最喜欢的是

if(false == (ret_s<0))
Run Code Online (Sandbox Code Playgroud)

其他代码做得非常好,记录得很好,但是这些奇怪条件的这些线条让我失望了,我想知道为什么他们这样做了.

特别是那false==(ret_s<0)是完全令人困惑的,你需要读三次这样的线来理解他们想要的东西.

这是一种常见的编程风格,难道我不理解其中的推理,还是仅仅是糟糕的风格?

编辑:我觉得这与if(object == NULL)vs if(NULL == object)类似,因为这不是关于意外分配而是关于asfuscated if子句......

c++

26
推荐指数
4
解决办法
4484
查看次数

在C++中NULL!= value是什么意思?

可能重复:
这些(bCondition == NULL)和(NULL == bCondition)有什么区别?

我正在阅读一段C++代码,并遇到了类似的代码

if (NULL != threadInfo)
{
  ...
  ...
}
Run Code Online (Sandbox Code Playgroud)

我只是想知道使用表达式之间有什么区别

if (threadInfo != NULL)
{
  ...
  ...
}
Run Code Online (Sandbox Code Playgroud)

上面说的是什么.读取第一个时读取"如果NULL不等于ThreadInfo",第二个读取"If threadInfo不等于NULL".对我来说,第二个更有意义.

c++

10
推荐指数
2
解决办法
1219
查看次数

'a'=='b'.这是一个很好的方法吗?

如果我以这种方式比较两个字符会发生什么:

if ('a' == 'b')
    doSomething();
Run Code Online (Sandbox Code Playgroud)

我真的很想知道语言(和编译器)在找到这样的比较时会做什么.当然,如果这是一种正确的做事方式,或者我必须使用类似的东西strcmp().

编辑 等待等待.
既然有人不明白我的意思,我决定以另一种方式解释.

char x, y;
cout << "Put a character: ";
cin >> x;
cout << "Put another character: ";
cin >> y;

if (x == y)
    doSomething();
Run Code Online (Sandbox Code Playgroud)

当然,在if括号中您可以替换==为任何其他比较运算符.
我真正想知道的是:如何在C/C++中考虑角色?当编译器比较两个字符时,它如何知道'a'与'b'不同?它指的是ASCII表?

c c++ comparison char

10
推荐指数
4
解决办法
693
查看次数

if语句中表达式的顺序

可能重复:
这些(bCondition == NULL)和(NULL == bCondition)有什么区别?
Javascript缩小比较语句

我一直在写这样的if陈述:

if(variable1 === 1){}
if(variable2 > 10){}
if(variable3 == "a"){}
Run Code Online (Sandbox Code Playgroud)

但是我记得在某个地方读书(不幸的是我再也找不到那个页面了),这样的if语句写得更好:

if(1 === variable1){}
if(10 < variable2){}
if("a" == variable3){}
Run Code Online (Sandbox Code Playgroud)

将变量放在表达式右侧的位置.

它是否正确?如果是这样,任何人都可以解释为什么这是正确的吗?此外,这适用于所有编程语言,还是只适用于JavaScript?

TIA

javascript if-statement operators

7
推荐指数
1
解决办法
486
查看次数

null == x和x == null之间的区别?

可能重复:
这些(bCondition == NULL)和(NULL == bCondition)有什么区别?

我已经看到两种方式都进行了比较.是否有性能差异或仅仅是个人偏好?

我看到它在这个答案中被使用:

你最喜欢的C#扩展方法是什么?(codeplex.com/extensionoverflow)

c#

3
推荐指数
3
解决办法
3948
查看次数

我该如何订购if语句?

[我以为这已经被问到了,但我找不到答案].

当写一个if说法,应该我比较件事进来的第一或第二?(我特别好奇,都C / C++Java).

这有关系,还是只是风格?(公约似乎是"先变量,价值第二").

请考虑以下代码:

#include <iostream>

int main() {
    int x = 5;

    if ( 5 == x ) {
        std::cout << "X == 5, true." << std::endl;
    }
    if ( x == 5 ) {
        std::cout << "5 == X, true." << std::endl;
    }

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

哪个输出:

X == 5,为真.
5 == X,是的.

所以不会出现以任何区别.我缺少哪些细微之处?

c c++ java

3
推荐指数
2
解决办法
237
查看次数

2
推荐指数
2
解决办法
241
查看次数

声明"=="条件的标准准则是什么?

可能重复:
这些(bCondition == NULL)和(NULL == bCondition)有什么区别?

请看以下代码: -

if(myVariable==5)
   {
     //some logic
   }
Run Code Online (Sandbox Code Playgroud)

我的一个朋友说,这不是一个很好的方式来编写代码,因为它不是每条指导方针,但他没有任何理由.以上代码或意外修改是否有可能出现异常?据他说,更好的方式

if(5==myVariable)
       {
         //some logic
       }
Run Code Online (Sandbox Code Playgroud)

请让我知道哪个是更好的方式,为什么??? 如果您有任何链接,请提供链接.

c++ java

1
推荐指数
1
解决办法
166
查看次数

标签 统计

c++ ×7

c ×2

if-statement ×2

java ×2

c# ×1

char ×1

coding-style ×1

comparison ×1

constants ×1

javascript ×1

operators ×1