每當我看到使用三元運算符,他們往往允許隱式轉換成布爾真或假支票的人,例如:的返回值和括號三元操作符
int a = 5;
return a ? true : false;
不過我聽說這是很好的做法在許多情況下是明確的,例如檢查指針是否爲nullptr而不是隱式地執行布爾檢查。考慮到這一點,我想做到以下幾點:
int* ptr = nullptr;
return ptr == nullptr ? 0 : 1;
這看起來有點怪我,提出了一堆它解析這個究竟如何的問題。但我的主要問題是我需要括號圍繞ptr == nullptr部分?如果沒有必要,那麼我認爲這有助於澄清?或者更好,更簡單:
return ptr ? 1 : 0;
謝謝。
您不需要'ptr == nullptr'周圍的括號。話雖如此,如果它可以幫助您更清晰地閱讀,請繼續並添加它。 –
與運營商關鍵字標籤無關。 –
我覺得別人編輯並添加了。謝謝你的幫助。 – Zebrafish