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

相关推荐
咸鱼加辣6 小时前
【python面试题】LRUCache
开发语言·python
LitchiCheng6 小时前
WSL2 中 pynput 无法捕获按键输入?
开发语言·python
中年程序员一枚6 小时前
Python 中处理视频添加 / 替换音频
开发语言·python·音视频
yuuki2332336 小时前
【C++】模板初阶
java·开发语言·c++
爱吃大芒果6 小时前
Flutter 路由进阶:命名路由、动态路由与路由守卫实现
开发语言·javascript·flutter·华为·ecmascript
世转神风-6 小时前
qt-lambda信号槽机制
开发语言·qt
SmoothSailingT6 小时前
C#——单例模式
开发语言·单例模式·c#
与遨游于天地6 小时前
接口与实现分离:从 SPI 到 OSGi、SOFAArk的模块化演进
开发语言·后端·架构
YouEmbedded6 小时前
解码Qt布局管理器与样式表
qt·样式表·布局管理器
醇氧6 小时前
Spring Boot 应用启动优化:自定义事件监听与优雅启动管理
java·开发语言·python