我寫了一個表達式解析器,它爲x86,x64和ARM吐出了一堆彙編指令。GCC C++警告:建議括號
爲了測試它,我編寫了一個小應用程序,它生成隨機表達式,用GCC編譯它們並將結果與我的代碼進行比較,到目前爲止效果非常好。
現在我想讓我的解析器產生類似於GCC的警告。
我注意到,與GCC 5.1.0
int a = 100 + 100 | 10;
GCC給出一個建議的括號警告|
但
int b = 100 * 100 | 10;
GCC沒有給出警告。
但是加法和乘法比按位OR具有更高的優先級,所以爲什麼在int b = expression上沒有警告?
我非常疲勞大聲笑,所以可能忽略了一些東西。
就我個人而言,我只是爲了明確發生了什麼而使用括號 –
請參閱https://gcc.gnu.org/onlinedocs/gcc-3.3.6/gcc/Warning-Options.html#index-Wparentheses- 201 –
就個人而言,我不會使用任何括號,並且我肯定會認爲它是編譯器建議添加冗餘語法的完全無關緊要。 – EJP