c++ - 如何设置整数的区间?

标签 c++ integer range

我知道这是一个非常菜鸟的问题,但是我该如何定义一个整数的区间呢?

如果我想要一个整数 X成为56<= X <=1234 , 我该如何声明 X ?

最佳答案

最好的方法是创建自己的整数类,并在其上添加边界和重载运算符,例如 +*==普通整数可以拥有的所有操作。当数字变得太高或太低时,你将不得不决定行为,我会给你类的开始。

struct mynum {
    int value;
    static const int upper = 100000;
    static const int lower = -100000;
    operator int() {
        return value;
    }
    explicit mynum(int v) {
        value=v;
        if (value > upper)value=upper;
        if (value < lower)value=lower;
    } 
};
mynum operator +(const mynum & first, const mynum & second) {
   return mynum(first.value + second.value);
}  

有一个question在 stackoverflow 上已经喜欢你的问题了。它具有我所做工作的更完整版本,对于初学者来说可能有点难以消化,但它似乎正是您想要的。

关于c++ - 如何设置整数的区间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18032978/

相关文章:

c++ - 使用 OpenGL 将位图文本居中到矩形

javascript - 相关输入类型范围的正确算法

C++ OpenGL 窗口和上下文创建框架/库

c++ - 在 OpenCV 中将一些行从一个矩阵复制到另一个矩阵的最快方法

c++ - 如何正确重载 << 运算符?

python - 反转数字算法

algorithm - 范围查询 - 树不包含上限和/或下限

VBA水平读取联合范围

c++ - BigInteger 类实现重载运算符 '+'

javascript - 如何在 JavaScript 中将字符串转换为整数