有什么方法可以将protobuf对象传递给shared_ptr吗?

时间:2020-08-18 04:44:09

标签: c++11 protocol-buffers

我要将protobuf msg“ SmConfig”复制到如下所示的shared_ptr:

SignalMachine::SignalMachine(SmConfig* sm_config) {
  sm_config_ = std::make_shared<SmConfig>();
  sm_config_.CopyFrom(*sm_config);
}

class SignalMachine {
 private:
  std::shared_ptr<SmConfig> sm_config_;
}

因为我需要将SmConfig(protobuf)保留在“ SignalMachine类”中,所以我使用了上面的方法,这合理吗?实际上,我没有在官方文件中找到相应的描述。

1 个答案:

答案 0 :(得分:2)

您可以使用复制构造函数:

AppComponent