关于SO的大多数问题都涉及非虚假返回类型,但是我们正在就此开展一场火焰战,并希望了解社区的想法.
void DoSomething()
{
return; // Is this needed?
}
Run Code Online (Sandbox Code Playgroud)
从这个讨论中,看起来具有未定义行为的问题涉及非void返回类型的函数.void返回类型是否具有相同的未定义行为,还是仅在非void返回函数中?
我担心的是,这最终将成为一种不可靠的编码风格.但是,如果它也是void返回函数的未定义行为,那么我可以看到需要将它添加到编码标准中.如果对C和C++的答案不同,这也是可以的.
§6.6.3退货声明
2没有表达式的return语句只能用于不返回值的函数,即返回类型为void的函数,contrsuctor(12.1)或析构函数(12.4).
§6.6.3/ 2
流出函数末尾相当于没有值的返回; 这会导致值返回函数中的未定义行为.
| 归档时间: |
|
| 查看次数: |
4922 次 |
| 最近记录: |