智能指针(唯一指针)和引用

时间:2018-08-29 13:21:54

标签: c++ binding data-management

在我的代码中,我有一个静态类来存储对象。为了进行具有内在性的东西(广播等),我将对象存储在具有unique_ptr s的地图中。

std::map<std::string, std::unique_ptr<DummyClass>>Map;

存储对象具有一些要在我的代码中(通过变量绑定)更新的成员变量,因此我传递了对存储对象的引用,以便能够对其进行修改。

DummyClass& GetObject(std::string name)
{
  return *Map[name];
}

要更新成员,我将它们存储在另一个映射中的另一个类中,以将它们绑定到字符串(我通过TCP / IP获取值),如下所示:

updater->registerVariable("bindingString", dummyObject.position.x);

registerVariable方法还获取一个引用(对dummyObject.position.x)并将其存储在其地图中。

std::map<std::string, std::vector<float&>> floatBindings;

但是这里提出了一个问题:我无法在绑定映射中存储引用。

任何人都知道我该怎么办? shared_ptr会走的路吗?但事实是我真的不想使用shared_ptr,因为所有者只能是静态类。

0 个答案:

没有答案
相关问题