首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

比较一个int是否某些特定数字的简便写法

2013-07-01 
比较一个int是不是某些特定数字的简便写法?判断一个数字是不是指定的数字int x 5if ((x 5) | (x

比较一个int是不是某些特定数字的简便写法?
判断一个数字是不是指定的数字

int x = 5;

if ((x == 5) | (x == 8) | (x == 22)) ......

显然这样写很麻烦啊,有简单点的写法吗?不考虑把这些特定数字用数组存储的方法。。。
[解决办法]
可以定义一个const unorderd_map.
[解决办法]
没有内置的简便方法
[解决办法]
数组为什么不可以使用   我相信delphi应该也是利用线性表来实现的吧
[解决办法]
如果只在一个地方需要这么判断,那就硬写吧。
如果多个地方,做个函数也不难。
[解决办法]
一个简便的写法,不过需要c++11支持

template<typename T>
bool in(const std::initializer_list<T>& _list, T num)
{
    return std::find(_list.begin(), _list.end(), num) != _list.end();
}

写法:
if(in({1,2,3,4,5}, 6))
    ;//do something

热点排行