有人能解释一下这段代码的作用吗?
struct EnumClass
{
template <typename T>
std::size_t operator()(T t) const
{
return static_cast<std::size_t>(t);
}
};
Run Code Online (Sandbox Code Playgroud)
它()为任何类型的对象定义了运算符EnumClass,采用任何类型的一个参数。运算符计算该参数,转换为 type size_t。
EnumClass e;
e(1); // evaluates to (size_t)1
Run Code Online (Sandbox Code Playgroud)
当然,这是无稽之谈。(它可能使感在其他一些方面,但单机和-是,它并没有-你并不需要一个EnumClass对象来投的东西size_t。)