我需要想出一些代碼來檢查給定的整數是否落入範圍的範圍內。給定定義爲std::pair<int, int>
範圍r
,以及測試整數n
(該範圍由一對整數來表示)檢查整數是否落入範圍內僅使用<運算符
所以,我想說:
if (n >= r.first && n <= r.second)
美中不足的是,我需要使用std::less<int>
比較函子來做到這一點,這意味着我只能使用less運算符。
我試圖想出相應的表達式。我很確定我是否正確,但我並不完全有信心。
我想出的表達式是:
(!cmp(n, r.first) && !cmp(r.second, n))
其中cmp
是std::less<int>
一個實例我做對了嗎?
「我有沒有正確地做到這一點? 「是。 – aschepler 2010-10-18 22:46:54
這是功課嗎?很難看出爲什麼你不能在已知的'int'值上使用完整的運算符。 – 2010-10-18 23:17:01