2

在 C# 中,我们可以使用这样的东西:

MyClass c = new MyClass();
c.Properties.Add("another property", "another value");

我需要在 C++ 中执行此操作。我正在使用 VS 2012。有什么想法吗?

编辑:知道,我可以使用地图或任何列表将属性保存到对象,例如:

void ObjectProperty::addItem(string key, XProperty p) 
{
     _object[key] = p;
}
4

1 回答 1

6

您不能只为对象添加“属性”——对象的概念完全在编译时完成。在运行时,CPU 不知道给定的内存块称为“对象”或您决定调用类实例的任何内容。

(这本身就很有趣,因为 C++ 没有属性)

如果您只想要一个按名称引用的数据字段,那么任何标准关联容器都应该满足您的需求。

于 2012-10-27T22:48:38.373 回答