3
在Ubuntu中執行std :: max時,我很困惑他們爲什麼使用if
而不是三元操作。三元操作在註釋中(所以看起來它曾經是這樣並且被改變了)。任何指定的理由在這裏使用if-else
?爲什麼在std :: max實現中使用if-else而不是三元操作
template<typename _Tp>
inline const _Tp&
max(const _Tp& __a, const _Tp& __b)
{
// concept requirements
__glibcxx_function_requires(_LessThanComparableConcept<_Tp>)
//return __a < __b ? __b : __a;
if (__a < __b)
return __b;
return __a;
}
沒有具體的理由使用'::'而不是'if' /'else'。這是不太可能的。讓評論與代碼不一致無疑是有點刺耳。 –