最佳实践:如何在C / C检查NULL返回值++ [关闭](Best Practices: how

2019-11-02 01:17发布

这是C和C ++风格的问题。 你比较喜欢哪个

void f() {
  const char * x = g();
  if (x == NULL) {
    //process error
  }
  // continue function
}

或这个:

void f() {
  const char * x = g();
  if (! x) {
    //process error
  }
  // continue function
}

? 前者表现得更加明显,但后者更简洁。

Answer 1:

这主要取决于你的团队工作中所采用惯例

由于!= NULL形式可能更清楚谁是习惯了开发商,反过来也是对谁是用来检查一个开发商真正的NULL使用布尔形式值。

正如@Andy警车提到,在此更清晰的版本appeard在C ++ 11通过使用的nullptr类型: if (x == nullptr) 这个符号应该由每一个团队成员,如果你正在写C ++ 11个应用可以作为一个惯例。

最后,存在被相当多用,如不同的图案Null Object Pattern是避免在代码中随处可见做这个检查,如果这个检查涉及您的应用程序的特定习惯。



文章来源: Best Practices: how to check for NULL return value in C/C++ [closed]
标签: c++ c null