关闭

boost之variant

标签: boostvariant
89人阅读 评论(0) 收藏 举报
分类:

variant的用法

#include <iostream>
#include <boost/typeof/typeof.hpp>
#include <boost/variant.hpp>
using namespace std;
using namespace boost;
int main()
{
    /////简单使用
    variant<int, float, string>v;
    v = "123";
    cout << v << endl;

    typedef variant<int, float, string> var_t;
    var_t v1(1);
    assert(v1.which() == 0);
    cout << get<int>(v1) << endl;


    //v1 = 3.14;//////error

    var_t v2("string lijiajia");
    cout << get<string>(v2) << endl;
    v2 = v1;
    assert(v2.type() == typeid(int));


    var_t v3;
    assert(v3.type() == typeid(int));
    assert(v3.which() == 0);


    v3 = "lijiajia";
    cout << *get<string>(&v3) << endl;


    ///////编译都通不过以下的try...catch...
    //try
    //{
    //cout << get<double>(v3)<<endl;
    //}
    //catch (bad_get &)
    //{
    //cout << "bad_get" << endl;
    //}




    system("pause");
    return 0;
}
0
0

猜你在找
【直播】机器学习&数据挖掘7周实训--韦玮
【套餐】系统集成项目管理工程师顺利通关--徐朋
【直播】3小时掌握Docker最佳实战-徐西宁
【套餐】机器学习系列套餐(算法+实战)--唐宇迪
【直播】计算机视觉原理及实战--屈教授
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之矩阵--黄博士
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之凸优化--马博士
【套餐】Javascript 设计模式实战--曾亮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:26126次
    • 积分:1124
    • 等级:
    • 排名:千里之外
    • 原创:86篇
    • 转载:2篇
    • 译文:0篇
    • 评论:9条
    最新评论