"安全"编程需要一个空的'else'语句吗?

J C*_*ins 2 c c++ if-statement

我最近从模型中读取了MATLAB/Real Time Workshop自动生成的一些代码,并且读取whiat似乎是使用某些代码的一个非常奇怪的理由:

if (u <= x[bottom]) {
    retValue = bottom;
    returnStatus = 1U;
} else if (u >= x[top]) {
    retValue = top-1;
    returnStatus = 1U;
} else {
    /* else required to ensure safe programming, even *
    * if it's expected that it will never be reached */
}
Run Code Online (Sandbox Code Playgroud)

似乎编码器通过称之为'安全编程'来证明最后有一个空的'else'语句是合理的.除非有一些模糊的内存管理原因,否则包含它似乎是一件非常不必要的事情.

出于什么原因可以在那里?

编辑:

我找到了完整的源代码,它实际上不是自动生成的,而是从rt_look.c复制的:

http://ecmc.rochester.edu/ecmc/docs/supercollider/scbook/Ch23_Dialects/extensions_c23_dialects/ENIAC/Eniac_Cycling%20Source%20Code/rt_look.c

mot*_*oku 5

考虑到您提供的案例,何时无法访问代码块.我同意Shabaz的说法,因为它会使代码混淆.如果我在没有问题或主题的情况下阅读了代码,我会想知道我错过了什么.这如果你期望的代码更改部分的调试非常有用......但我认为一个好的老assert()做一样好.为了回答你的问题,我不认为一个空的其他声明可以用于任何目的.