1.3 boost::any 用法

来源:互联网 发布:管理系统软件的软件 编辑:程序博客网 时间:2024/05/16 18:32

代码如下:

#include <boost/any.hpp>using boost::any;#include <iostream>#include <list>#include <string>using namespace std;typedef list<boost::any > any_list;int main(){any_list al;//先填充几个值al.push_back(11);// 加了一个整形al.push_back(123.456);// 加了一个浮点型// 加一个字符串,al.push_back("abcdefg");错误,因为会被当错字符串处理 al.push_back(string("abcdefg")); // 访问这几个值any_list::iterator it;boost::any anyone;for (it = al.begin(); it != al.end(); it ++){anyone = *it;if (anyone.type() == typeid(int)){cout<<boost::any_cast<int>(*it) << endl;}else if (anyone.type() == typeid(double)){cout<<boost::any_cast<double>(*it) << endl;}else if (anyone.type() == typeid(string)){cout<<boost::any_cast<string>(*it) << endl;}}return 0;}

运行结果如下:

原创粉丝点击