Как правильно инициализировать экземпляр класса Singleton и использовать его переменные? - PullRequest
0 голосов
/ 06 ноября 2019

Я пытаюсь реализовать следующее: я должен отправлять и получать одно и то же сообщение, но с разными стеками протоколов. Например, у меня есть клиент MQTT, который отправляет и получает сообщения MQTT, и клиент ROS, который делает то же самое, но использует протокол обмена сообщениями, отличный от MQTT. Поэтому я подумал, что с помощью класса Singleton, называемого Client, который будет содержать универсальные (примитивные) переменные, такие как int x, и эта переменная может использоваться совместно с ROSClient и MQTTClient. Поэтому я прочитал этот ответ в качестве примера LINK и понял, как использовать статический экземпляр.

Но у меня есть два вопроса:

  1. Как мне создатьэкземпляр класса Singleton Client? Могу ли я создать его как в ROSClient, так и в MQTTClient, или я должен создать один раз в основном и просто передать его соответствующим функциям?
  2. Когда в ответе упоминается «потокобезопасный», означает ли авторчто переменные класса Singleton не могут быть видоизменены сразу, и мне не нужно использовать std::atomic например?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...