嵌套如果或直接返回
Nesting if's or returning directly
我在C++上了一门课程,在那里我们有一些家庭作业要给我们的老师看,其中有一些像这样的if语句:
if (A != 10)
return 1;
...snip logic ...
return 12;
他不喜欢这样,并建议我像这样嵌套它,即使嵌套级别不止一个:
if (A == 10) {
...snip logic ...
return 12;
} else
return 1;
他真的无法向我解释他为什么想要那样。所以我的问题是,如果这样的陈述有什么理由依偎在一起吗?我认为在我的功能开始时有一些提前恢复的条件既容易又干净。关于为什么这些想法之一更好/更快的任何想法或想法?之后编译的代码有什么大区别吗?
在编码风格方面,你可以听取意见,但最好是你自己做自己的风格。第一个解决方案对我来说看起来更干净,更容易阅读,但这毕竟只是一个品味问题。在性能方面,绝对没有区别。
相关文章:
- 如果我std::dynamic_pointer_cast并且底层dynamic_cast的结果为null,那么返回的sh
- 如果"new int"返回"int*",那么为什么"new int[n]"不返回"int**"?
- 如果返回 -1,时间() 的参数是否被修改?
- 如果我在 const 函数上使用指针,我可以返回什么?
- 基本的 c++ 问题:如果我在函数中创建某些内容并返回它会发生什么?
- 如果我们不从 std::qsort 返回 0 会发生什么?
- 如果语句错误地读取字符串,则始终在第一个条件返回
- 在数组中查找元素,如果找到则返回Find,否则返回not Find
- 如果函数是在类的主体中定义的,我是否需要在成员函数的返回类型中指定 typename?
- 如何修改此函数,以便如果函数的参数是特定结构,则返回具有较大整数的结构?
- 内存浪费?如果main()应该只返回0或1,那么为什么main是用int而不是短int甚至char声明的
- 我可以在C++中返回跨度吗?如果是这样,如何?(对替代方案开放
- 如果我忽略返回类型shared_ptr函数的返回值怎么办
- 如果使用返回引用的函数初始化"auto"var,为什么它不声明引用类型?
- C++如果使用 lambda 表达式的语句返回 true,但输出来自 false,为什么
- 如果函数按值传递并按值返回,将调用复制构造函数多少次
- 如果在开关情况下不匹配,为什么此函数返回 ASCII 值?
- 创建一个函数,如果元素在unordered_set中,则返回 true,如何处理模板
- 如果发生错误,则返回错误值,否则,继续执行函数
- 代码是否有效.如果我想显示第一个元素?如果不是,那么 s.begin() 会返回什么?