有没有什么方法可以在编译时捕获并警告冗余?
如
if (abc && abc)
Run Code Online (Sandbox Code Playgroud)
要么
if (def || def)
Run Code Online (Sandbox Code Playgroud)
好吧,这实际上并不是从优化的角度来看 - 我正在考虑更多的代码错误 - 所以当编码器打算写
if (abc && abc)
Run Code Online (Sandbox Code Playgroud)
实际上他们打算写的时候
if (abc && def)
Run Code Online (Sandbox Code Playgroud)
编译器将默默地优化错误,而我实际上想知道是否可以让编译器警告我,如果发生这种情况,万一它在那里是错误的!
首先,技术上不是重言式,而是冗余.例如,重言式意味着它总是如此
if (abc || !abc)
Run Code Online (Sandbox Code Playgroud)
为了捕捉它们 - 你不需要做任何事情,任何值得它的编译器都会为你优化它.但我确实希望你实际上没有这样的代码.