c++ - 带有返回值的 if 语句代码样式

标签 c++ if-statement coding-style styles return

假设我有这个功能:

inline bool fileExists(const char *name) {
  FILE *file;
  if (fopen_s(&file, name, "r") == 0)
  {
    fclose(file);
    return true;
  } else {
    return false;
  }
}

做上面那个更好,还是这个更好?

inline bool fileExists(const char *name) {
  FILE *file;
  if (fopen_s(&file, name, "r") == 0)
  {
    fclose(file);
    return true;
  }

  return false;
}

编译时有区别吗?

最佳答案

这主要是见仁见智的问题。 IMO 第二种形式更好,因为它总是提供一个返回值。如果您修改函数以在 else 子句中做一些不同的事情,您可能会忘记添加返回值。在上面的示例中,生成的代码是相同的。

关于c++ - 带有返回值的 if 语句代码样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17167268/

相关文章:

c++ - C++ 中的线程安全单例

c++ - clflush 在 i7 中没有给出 const 数据类型的正确答案

java - if...elseif 一次又一次输入值时出错

c# - 用这个。访问内部类成员?

C++检查 child 状态

c++ - Protocol Buffer 与 FlatBuffers

java - 如果并开始时出现错误

python - 根据条件使用 python 中另一列的值创建新列

java - 创建线程,做某事,杀死线程 - 全部在循环内 [JAVA]

python - Python 中 None 的同一性与相等性