如何正确初始化Singleton类实例并使用其变量?

时间:2019-11-06 10:09:15

标签: c++ c++11 singleton

我正在尝试实现以下目标:我必须发送和接收相同的消息,但使用不同的协议栈。例如,我有一个MQTT客户端,该客户端发送和接收MQTT消息,而ROS客户端则完全相同,但是使用与MQTT不同的消息传递协议。 因此,我认为可以使用名为Client的Singleton类来保存int x之类的通用(原始)变量,并且该变量可以与ROSClientMQTTClient共享。因此,我已将此答案作为示例LINK进行了阅读,并且了解如何使用静态实例。

但是我有两个问题:

  1. 如何创建Singleton类Client的实例?我可以同时在ROSClientMQTTClient中创建它,还是应该一次在主目录中创建一个并将其传递给各自的功能?
  2. 当答案中提到“线程安全”时,作者是否意味着Singleton类的变量无法立即进行突变,而我不必使用std::atomic

0 个答案:

没有答案