提升属性映射的概念

时间:2014-06-20 20:48:27

标签: c++ boost

我仍在努力了解boost属性贴图的以下方面:

boost属性映射实际上是存储数据,还是存储在另一个数据结构中的数据,boost属性映射只是访问这些数据的一种方式?换句话说,无论通过它可以访问多少数据,属性映射的空间复杂度是否都是常量?

如果是这种情况,为什么它具有put函数?

1 个答案:

答案 0 :(得分:0)

空间复杂性绝对不是一成不变的。奇迹是不可能的。您存储的数据越多,所需的空间就越多。

从我的角度来理解属性映射的最好方法是包装。您添加了一个属性 - 您的类被另一个handles此属性的类包装。此包装类是在模板实例化期间动态生成的。我在调试器中查看了它们生成的内容。它显示了我定义的每个属性的继承层。

存储数据的确切位置隐藏在实现中。这是他们设计的一部分,也是他们想要实现的目标。这也为他们提供了以这种或那种方式实现存储的一定灵活性。