C++ Open62541 单例模式创建 Server 对象
使用单例模式来确保只创建一个 server 对象。具体实现可以将类的构造函数设置为私有的,然后在类的静态方法中判断对象是否已经创建,如果已经创建则返回现有对象,否则创建一个新对象并返回。以下是示例代码:
class MyServer {
private:
UA_Server* server;
static MyServer* instance;
MyServer() {
server = UA_Server_new();
// 初始化 server 的代码
}
public:
static MyServer* getInstance() {
if (instance == nullptr) {
instance = new MyServer();
}
return instance;
}
UA_Server* getServer() {
return server;
}
};
MyServer* MyServer::instance = nullptr;
在需要使用 server 的地方,可以通过调用 MyServer::getInstance()->getServer()
来获取 server 对象。这样可以确保只有一个 server 对象存在。

原文地址: http://www.cveoy.top/t/topic/oXe2 著作权归作者所有。请勿转载和采集!