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

比较一个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