使用boost::mp11::mp_similar进行类型判别的测试程序
在C++11标准引入了可变参数模板后,我们能够定义可接受不定数量参数的函数和类模板。然而,在对这些参数进行处理时,我们往往需要区分它们的类型并对它们进行不同的操作。这时,一个有效的方式是使用模板元编程。
boost::mp11是一个C++库,提供了一组方便的模板元编程工具。其中,mp_similar工具可以用于比较两个类型是否相同,或者判断一个类型是否与多个类型中的任意一个相同。
下面是一个简单的示例程序,演示了如何使用mp_similar来实现一个计算器,支持加减乘除四则运算。
#include <iostream>
#include <type_traits>