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

相关推荐
曾几何时`21 小时前
Go(四)Channel
开发语言·后端·golang
未若君雅裁1 天前
Java 线程基础:进程、线程、并发并行、创建方式与生命周期
java·开发语言
sugar__salt1 天前
JS正则表达式与字符串高阶实战精讲
开发语言·javascript·正则表达式
QT-Neal1 天前
C/C++ 程序段的概念与分类
c语言·c++
AI浩1 天前
梯度累积与 Micro-Batch 设计分层式精讲:有效批次、显存边界与分布式同步
开发语言·分布式·batch
未若君雅裁1 天前
死锁产生条件与诊断:jps、jstack、VisualVM
java·开发语言
再玩一会儿看代码1 天前
Java抽象类和接口区别_场景理解
java·开发语言·经验分享·笔记·python
枕星而眠1 天前
【数据结构】树与二叉树基础知识点总结
数据结构·c++·后端·算法·运维开发
于先生吖1 天前
Java消息队列优化抢单逻辑,同城搬家拉货多场景业务数据库架构设计
java·开发语言·数据库架构
半个烧饼不加肉1 天前
JS 底层探究--执行上下文
开发语言·前端·javascript