[Qt][C++]static与extern关键字

文章目录

static

定义全局变量,可以使用static关键字,以保证在多个文件中调用的为同一个内存空间。

  1. 如果全局变量定义在.h头文件中,那么应该使用 static 关键字
  2. 在需要调用此全局变量的.h或者.cpp文件中,导入头文件
  3. 使用时,直接写变量名调用即可

Static 在类内用于定义静态成员(函数)。静态成员(函数)与具体的类无关,它的值及作用范围适用于所有的类,当它的值发生改变时,在所有的类中的值都会发生变化。

注意: 在类内部定义由 Static关键字修饰的成员 ,在使用前 必须在 类的外部 进行初始化。 不然会报错!

extern

定义全局变量,还可以使用extern关键字。extern 关键字是告诉编译器,变量定义在函数外部。可以是本文件,也可以是其它文件。

  1. 如果全局变量定义在.cpp中,那么应该使用extern关键字
  2. 在函数外定义,正常定义即可,定义时不要加extern关键字
  3. 在其他位置调用时,使用extern关键字进行声明即可

extern关键字声明会破坏面向对象的结构。建议使用static进行定义。

参考链接

QT中static关键字使用
QT全局变量的正确使用方法(static、extern)
QT中 使用static关键字 实现数据跨类传输

相关推荐
38242782713 小时前
python3网络爬虫开发实战 第二版:绑定回调
开发语言·数据库·python
星月心城13 小时前
面试八股文-JavaScript(第五天)
开发语言·javascript·ecmascript
wjs202413 小时前
PostgreSQL 时间/日期处理指南
开发语言
wniuniu_13 小时前
ceph心跳机制
开发语言·ceph·php
阿里嘎多学长13 小时前
2025-12-25 GitHub 热点项目精选
开发语言·程序员·github·代码托管
Oxye13 小时前
服务器内存不足导致程序没完全起起来,报错Required type must not be null
java·开发语言
乾元13 小时前
自动化补丁评估与策略回滚:网络设备固件 / 配置的风险管理
运维·开发语言·网络·人工智能·架构·自动化
2501_9167665413 小时前
【Java】static关键字与类的加载顺序
java·开发语言
山峰哥13 小时前
SQL查询优化秘籍:从Explain分析到性能飞跃
开发语言·数据库·sql·oracle·性能优化·系统优化
世转神风-13 小时前
qt-通信协议基础-QStirng转QByteArray-与字节序互动
开发语言·qt