c++ - 声明新的数字类型

标签 c++

回到大学时,当我使用 Pascal 时,我了解到您可以声明一个数字范围的类型。它是这样的:

<somekeyword> TypeName 1..10; or something like that.

长话短说,我想知道您是否以及如何创建具有一系列可能数值的类型。

提前致谢。

编辑: 抱歉,如果我不清楚,我正在寻找 C++ 中的东西,我可以在其中声明数字类型(例如 byte (0..255) 或 DayOfYear (1..31))。

最佳答案

大概是这样的:

class range {
  int _start;
  int _end;
public:
  range(int s, int e): _start(s), _end(e) {}

  bool operator && (int n) const { return n >= _start && n <= _end; }

};

您可以用作:

range r(10,28);

if( r && 13 ) ... ;
else ... ;

或者简单的说

if( range(12,34) && 13 ) ... ;
else ... ;

关于c++ - 声明新的数字类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14678954/

相关文章:

c++ - 在 x64 平台上发布配置独立执行的无效配置参数

c++ - 溢出/下溢问题?

c++ - (c++) 在类中声明类成员

c++ - GlobalMemoryStatusEx 线程安全吗?

C++ 自动类型转换

c++ - QTimer 与扩展 QThread 无关

c++ - 为整数类型重载运算符 ^

c++ - 在 Qt 中禁用 Glib 事件循环 - QT_NO_GLIB 未生效

c++ - 奇怪的测试结果。当我不使用时,我的 win32 程序运行得更慢

c++ - 错误为 : unrecognized option '-mcpu=arm1176jzf-s'