variant

简要的说,variant是有限定的变体类型(any是不限定的)。限定有限定的好处,variant是基于栈来储存值的,比起any用堆来要快得多;另外variantSTL的配合也容易得多。

Boost.Variant

Variant库包含一个不同于union的泛型类,用于在存储和操作来自于不同类型的对象。这个库的一个特点是支持类型安全的访问,减少了不同数据类型的类型转换代码的共同问题。

Variant 库如何改进你的程序?
  • 对用户指定的多种类型的进行类型安全的存储和取回
  • 在标准库容器中存储不同类型的方法
  • 变量访问的编译期检查
  • 高效的、基于栈的变量存储

 

原文地址:https://www.cnblogs.com/zhangzhang/p/2532710.html