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

相关推荐
赏金术士2 分钟前
Kotlin 从入门到进阶 之协程 Flow 模块(九)
开发语言·kotlin·php
赵钰老师3 分钟前
R语言在生态环境领域中的应用
开发语言·数据分析·r语言
guygg887 分钟前
四旋翼无人机串级PID控制MATLAB仿真
开发语言·matlab·无人机
guygg888 分钟前
四足液压机器人设计程序MATLAB实现
开发语言·matlab·机器人
Frank_refuel17 分钟前
C++之STL->string类的使用和实现
java·开发语言·c++
fpcc18 分钟前
跟我学C++中级篇—Linux文件读写的分析
linux·c++
feifeigo12319 分钟前
图像重建中软阈值方法的原理和MATLAB实现
开发语言·matlab
江南十四行21 分钟前
Python多线程与多进程实战——避开GIL,榨干CPU
开发语言·网络·python
88号技师23 分钟前
2026年2月新锐一区SCI-完整家庭互动优化算法Undivided Family Interaction Algorithm-附Matlab免费代码
开发语言·算法·数学建模·matlab·优化算法
手揽回忆怎么睡26 分钟前
java打包无效的发行版:xx,临时修复当前窗口指定 JDK21
java·开发语言