相关疑难解决方法(0)

对C++中的指针使用NULL或0(零)吗?

在C++的早期,当它被用螺栓固定在C之上时,你不能使用NULL,因为它被定义为(void*)0.你不能将NULL分配给除了之外的任何指针void*,这使得它变得毫无用处.在那些日子里,人们接受了你使用0(零)空指针.

直到今天,我继续使用零作为空指针,但我周围的人坚持使用NULL.我个人认为给NULL现有值一个name()没有任何好处- 因为我也喜欢将指针测试为真值:

if (p && !q)
  do_something();
Run Code Online (Sandbox Code Playgroud)

然后使用零更有意义(如果你使用NULL,你不能逻辑使用p && !q- 你需要明确比较NULL,除非你假设NULL是零,在这种情况下为什么使用NULL).

有没有客观的理由偏好零而不是NULL(反之亦然),或者只是个人偏好?

编辑:我应该添加(并且最初要说)使用RAII和异常,我很少使用零/ NULL指针,但有时你确实需要它们.

c++ null

186
推荐指数
13
解决办法
13万
查看次数

什么是Python的"in"运算符的C++等价物?

检查元素是否包含在数组/列表中的C++方法是什么,类似于inPython中的运算符?

if x in arr:
    print "found"
else
    print "not found"
Run Code Online (Sandbox Code Playgroud)

与Python的in运算符相比,C++等价物的时间复杂度如何?

c++ arrays

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

如何检查数组中是否存在给定的int?

例如,我有这个数组:

int myArray[] = { 3, 6, 8, 33 };
Run Code Online (Sandbox Code Playgroud)

如何检查给定变量x是否在其中?

我是否必须编写自己的函数并循环数组,还是在现代c ++中与in_arrayPHP 相当?

c++ arrays

18
推荐指数
2
解决办法
8万
查看次数

与C++中的多个char进行比较

假设我有一个存储在a中的输入char c,并且在条件中我需要检查它是否是两个不同的字符,例如'n''N'.很明显,我可以使用逻辑OR运算符进行条件化:

if(c == 'n' || c == 'N')
...
Run Code Online (Sandbox Code Playgroud)

但是,如果只有两个以上的条件,则需要使用更多的逻辑运算符,编写,查看和编辑将变得冗长乏味.有没有办法压缩这个过程?为了使它看起来像这样的东西:

if(c == '[N][n]')
...
Run Code Online (Sandbox Code Playgroud)

有什么类似的存在吗?

c++ char

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

标签 统计

c++ ×4

arrays ×2

char ×1

null ×1