用boost::core实现std::type_info交换
在C++中,std::type_info是一个非常常用的类型信息查询工具。当我们需要在程序中对某个对象进行类型判断时,就可以使用std::type_info。但是,有时候我们需要将两个不同的std::type_info进行交换,这时就可以使用boost::core库中的swap函数来实现了。
首先,我们需要引入头文件:
#include <boost/core/typeinfo.hpp>
接下来,使用boost::core::swap函数来实现两个std::type_info的交换:
std::type_info type1 = typeid(int);
std::type_info type2 = typeid(double);
boost::core::swap(type1, type2);
这里我们定义了两个std::type_info对象type1和type2,并将它们分别赋值为int和double的类型信息。然后,使用boost::core::swap函数将它们进行了交换。
需要注意的是,boost::core::swap函数并没有被定义在std命名空间中,而是被定义在了boost::core命名空间中。所以,我们需要在使用之前添加命名空间的限定符。
完整的代码如下:
#include <i