基本C ++动态分配问题

时间:2015-05-25 10:49:15

标签: c++ dynamic

有一些基本方面,我完全失踪了。我有一个包含集合

的对象
PropertyContainer::PropertyContainer(string comFile, string resFile)
{
   set<Property*>* prCont = new set<Property*>();
...
}

在我的主要演讲中

PropertyContainer* ptrPropertySet = new PropertyContainer(comFile, resFile);

此构造函数遍历并使用文件中的数据填充集合。

如果(当我还在构造函数中时)我遍历集合,那么所有的属性都在那里。

如果我回到main()并访问该设置它是空的(我已通过访问器功能完成它并暂时公开并直接访问它,以确认我没有制作访问者功能中的错误)

这让我相信我缺少一个非常基本的编程原则。任何帮助或链接将不胜感激。

1 个答案:

答案 0 :(得分:0)

您正在定义一个局部变量prCont,它隐藏您的成员变量。

动态分配std :: sets非常罕见,你可能不应该这样做 如果您将该成员声明为set<Property*> prCont,则会在创建PropertyContainer时自动默认构建该成员。