创建一个简单的脚本化"语言" - 类似VARIANT的值类型

Mr.*_*Boy 1 c++ variant

对于使用C++开发的规则引擎,其中一个核心功能是值类型.到目前为止,我有点像COM风格的VARIANT - 每个值都知道它的类型.类型转换有一些规则,但它有点乱.

我想知道是否有可以使用的好的插入值类来解决这个问题,而不需要我使用整个预构建的系统.比如说升压有什么意义吗?

Kor*_*icz 6

寻找boost :: anyboost :: variant

基本上有三种类型的变体实现:

  1. 可以在类型之间自由转换的类型(想想无类型语言) - boost::lexical_cast是你的朋友,或者boost::variant......
  2. 一种类型可以包含任何类型,但是类型安全 - 例如用a初始化int,保留一个int并且不允许像其他任何东西一样隐式处理 - 这是boost::any类型
  3. 邪恶允许任何类型 - 投射到你想要的,没有错误检查,没有类型信息举行 - 认为void*

  • 听起来更像是他想要boost :: variant.http://www.boost.org/doc/html/variant.html (2认同)