可以对构造函数下手。构造函数一开始先判断。为什么会有这种需求呢?我有一个类是用来维护wifi连接的,但是wifi模块只有一个,所以只允许有一个实例化对象控制wifi模块。
所以当这个类被多次实例化时要知道,并且采取措施防止第二个实例对象去控制wifi模块
可以在构造函数中生命一个静态变量作为标志。
ConnectWifi::ConnectWifi(void)
{
static bool bFirst = true;
/*先判断是不是第一次被初始化,改类只允许有一个实例化对象*/
if (bFirst)
{
bFirst = false;
//设置wifi模式为无线终端模式
WiFi.mode(WIFI_STA);
xTaskCreate(connectThread, "", 2000, this, 1, nullptr);
m_pThis = this;
}
}