2025-09-10

2025-09-17  本文已影响0人  努力生活的西鱼
1. C++中的静态成员变量
.h
// 单例指针
static SerialManager *m_instance;
.cpp
// 静态成员变量,必须在类外单独定义
SerialManager* SerialManager::m_instance = nullptr;
  1. 静态成员变量必须在类外定义

    • C++中,类的静态成员变量(static成员)必须在类外单独定义,否则会导致链接错误
    • 在头文件中,static SerialManager *m_instance;只是声明,而不是定义,编译器不会为它分配存储空间。
    • 因此,必须在.cpp文件中显式定义这个静态变量,否则程序运行时会出现m_instance未定义的错误
  2. 初始化m_instance为nullptr

    • =nullptr确保m_instance初始化为空指针,防止未初始化的指针导致未定义行为
    • 如果不初始化,m_instance的值可能是随机的,导致instance()方法无法正确判断是否已经创建实例

不允许对数组进行整体赋值操作,只能使用循环逐一复制元素

数组的地址:

数组的基地址:数组开始存储的物理地址
数组首元素的基地址:数组首个元素开始存储的物理地址,数值上总是与数组基地址相同
&操作符:&a获得数组的基地址;&a[0]获得数组首元素的基地址

void handleSerialData(const QByteArray &data);
  1. const:
  1. &(引用):

const QByteArray &data是一种高效且安全的参数传递方式

上一篇 下一篇

猜你喜欢

热点阅读