static const int MIN = 11; static const int MAX = 20; // ... if((MIN <= n) && (n <= MAX)) { // do something }
…というコードを見るたびに、もうちょっとスマートにならないものか、と感じます。たとえば…。
struct Bounds { const int min; const int max; bool includes(int n) const { return (min <= n) && (n <= max); } }; // ... static const Bounds bounds = { 11, 20 }; // ... if(bounds.includes(n)) { // do something }
ひとつふたつの場合は別として、いくつもある場合には有効だと思うんですけどね。