相关疑难解决方法(0)

如何检查等于?(0 == i)或(i == 0)

好的,我们知道以下两行是等价的 -

  1. (0 == i)
  2. (i == 0)

此外,过去鼓励使用第一种方法,因为如果您不小心使用'='而不是'==',那么编译器就会给出错误消息.

我的问题是 - 在今天的一代漂亮的IDE和智能编译器中,你还推荐第一种方法吗?

特别是,当我看到以下代码时,这个问题突然出现在我脑海中 -

if(DialogResult.OK == MessageBox.Show("Message")) ... 
Run Code Online (Sandbox Code Playgroud)

在我看来,我绝不会推荐上述内容.任何第二意见?

c c++ coding-style

22
推荐指数
8
解决办法
9138
查看次数

NULL ==指针

在C++中,我们通常检查指针是否为null,我只知道我们应该使用

if(NULL == ptr)
Run Code Online (Sandbox Code Playgroud)

代替:

if(ptr == NULL)
Run Code Online (Sandbox Code Playgroud)

我想知道为什么?

在additiol中,如果我们想将ptr初始化为null,我们应该使用ptr = NULL还是ptr = 0?是的,我知道在C++中,我们通常使用ptr = nullptr,我想知道为什么我们这样做只是想统一代码?谢谢

c++ c++11

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

A == B vs B == A,有什么区别

所以长话短说.一位教授在课堂上将这个问题作为一个讨论启动者.除了明显的

B = new SomeClass("B"); // But B can be null, can can be new SomeClass("A");
A = new SomeClass("A");
A==B
Run Code Online (Sandbox Code Playgroud)

在比较时会保证没有NPE,使用B == A而不是A == B的原因是什么?

A和B的类型相同,这与语言无关.因此,您可以假设Java的A.equals(B),或者C或C++中的等效语法等....

不,这不是功课.

c# java programming-languages

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

null == object vs object == null

可能重复:
将null与对象而不是具有null的对象进行比较有什么问题

我看到一些开发人员在C#中使用以下空对象检查:

if (null == myObject)
{

}
Run Code Online (Sandbox Code Playgroud)

而不是:

if (myObject == null)
{

}
Run Code Online (Sandbox Code Playgroud)

我更喜欢第二个陈述,因为它从左到右自然地(对我而言).

有没有理由说明为什么使用第一个?有任何性能优势,还是纯粹的味道?

c#

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

使用if(...)时,为什么这被认为是一个很好的编程习惯?

可能重复:
如何检查等于?(0 == i)或(i == 0)
i == 0和0 == i之间有区别吗?

我见过很多次人们使用if(condition)as if(0==x)而不是if(x==0).它被认为是一种很好的做法,但有人可以解释为什么这样做?它有什么不同?相反,它在我看来降低了可读性.

c c++ programming-languages

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

标签 统计

c++ ×3

c ×2

c# ×2

programming-languages ×2

c++11 ×1

coding-style ×1

java ×1