前言
boost::any类为我们提供了一个十分强大的功能:只要定义一个any对象,就可以保存任意类型的数据到这个对象中,而且还可以动态改变类型。这比我么在COM中使用到的VARIANT结构要强大多了,VARIANT只不过是用到了一个联合体,把可能出现的类型全部包括进去了,更像是一种穷举,而且还有一个标识来说明当前结构中保存的数据的类型。
如何使用any?
去boost官网下载对应的ZIP包,解压后运行那个exe编译完成后,把对应的头文件和库文件路径添加到VS的路径里面去。
然后包括下这个头文件即可
#include <boost/any.hpp>
简单的测试代码
<span style="white-space:pre"> </span>boost::any a1 = 123;
if ( a1.empty() )
cout<<"a1容器不为空"<<endl;
else
cout<<"a1容器为空"<<endl;
a1 = string("string::123");
a1 = 12.398;
if ( !a1.empty() )
{
cout<<"now a1 &