boost::variant<T1, T2>类型变量的适配
来源:互联网 发布:国密算法和国际算法 编辑:程序博客网 时间:2024/04/30 12:10
本文我们将介绍boost::variant<T1, T2>
类型变量的赋值问题,以及类的类型转换运算符重载函数的调用时机。
#include <limits> // for numeric_limits<T>template<typename T>class Null();template<>class Null<int>{public: operator int() { std::cout << "Null<int>::operator int()" << std::endl; return std::numeric_limits<int>::max(); }};template<>class Null<double>{public: operator double() { std::cout << "Null<double>::operator double()" << std::endl; return std::numeric_limits<double>::max(); }};
#include <boost\variant.hpp>int main(int, char**){ boost::variant<int, double> v = Null<int>(); // Null<int>::operator int() // 赋值运算右侧的 Null<int>() 其实是一个类类型 // 想要将一个对象赋值给一个变量,需要调用其运算符重载,此时该对象它只提供了int()的类型重载。 // 试想,如果Null<int>类类型提供的运算符重载是operator double()类型的,它则会调用double类型的运算符重载 double d = Null<int>(); // Null<int>::operator int()};
0 0
- boost::variant<T1, T2>类型变量的适配
- variant和OleVariant变量类型的区别
- 磁共振中的T1, T2 和 T2*的原理和区别
- boost::variant的简单介绍
- Dictionary<T1,T2>和Hashtable的异同
- VARIANT类型的用法
- VARIANT类型的用法
- VARIANT类型的用法
- VARIANT类型的用法
- VARIANT类型的用法
- boost::any 与 boost::variant 的区别
- boost::any 与 boost::variant 的区别
- 51nod 1097 拼成最小的数 思维题 t1+t2<t2+t1
- Boost::Variant
- boost::variant
- srm 526 T1 && T2
- srm527 T1 && T2
- sm 528 T1 && T2
- Ajax success error complete 等option配置
- Android用户界面基础之ToggleButton学习
- Java设计模式(一)----单例模式
- 内联框架结构
- 沈剑:58同城数据库架构最佳实践
- boost::variant<T1, T2>类型变量的适配
- 勇气
- wait和waitpid的区别
- 90. php 命名空间
- 欢迎使用CSDN-markdown编辑器
- 手机拍摄黄龙溪一日游
- devstack kilo版安装过程
- Time类
- mac地址随机变化的解决方法(安卓手机通用)不用ROOT