[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关键字 实现数据跨类传输

相关推荐
蚰蜒螟10 分钟前
jvm安全点(一)openjdk17 c++源码垃圾回收安全点信号函数处理线程阻塞
jvm·c++·安全
傻傻虎虎16 分钟前
【QT】ModbusTCP读写寄存器类封装
开发语言·数据库·qt
独行soc24 分钟前
2025年渗透测试面试题总结-华顺信安[实习]安全服务工程师(题目+回答)
运维·开发语言·学习·安全·面试·渗透测试·php
王RuaRua35 分钟前
[数据结构]6. 队列-Queue
开发语言·数据结构·算法·leetcode
敲键盘的小夜猫1 小时前
如何理解大模型的幻觉输出及RAG技术的应用与实战案例
开发语言·python
恒者走天下1 小时前
c++学习方向选择说明
开发语言·c++·学习
zhangpeng4555479401 小时前
C++编程起步项目
开发语言·前端·c++
AI+程序员在路上2 小时前
C及C++的音频库与视频库介绍
c语言·c++·音视频
feiyangqingyun2 小时前
Qt/C++编写音视频实时通话程序/画中画/设备热插拔/支持本地摄像头和桌面
c++·qt·音视频
KeithTsui2 小时前
C语言之 比特(bit)、字节(Byte)、字(Word)、整数(Int)
linux·c语言·开发语言·c++·算法·word