对于用C++开发的规则引擎,核心功能之一是值类型。到目前为止,我所拥有的有点像COM样式的VARIANT-每个值都知道其类型。有一些类型转换的规则,但是有点困惑。

我想知道是否可以使用不错的直接插入值类来解决此问题,而无需使用整个预建系统。例如增强可能有什么?

最佳答案

寻找boost::anyboost::variant吗?

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

  • 可以在类型之间自由转换的类型(请考虑使用无类型语言)-boost::lexical_cast是您的 friend ,或者是 boost::variant ...
  • 可容纳任何类型但类型安全的类型-例如用int初始化,保留int,不允许像其他任何对象一样被隐式对待-这是 boost::any 类型
  • 邪恶允许任何类型-转换为所需的内容而不会进行错误检查,不保留任何类型信息-想想void*
  • 关于c++ - 创建一个简单的脚本 'language'-类似于VARIANT的值类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2037315/

    10-11 22:36
    查看更多