当前位置: 首页 > news >正文

static修饰变量和函数

static修饰的变量和函数只能在定义它的cpp源文件中使用,如果在头文件中定义,则需要注意

在头文件中定义static变量和static函数:

变量

如果在头文件中定义了static变量,那么,所有包含这个头文件的源文件都会定义自己的static变量,而不是使用该头文件中的static变量。这样会造成其他包含此头文件的源文件也能使用该变量的假象

函数

源文件中定义的static函数只供源文件使用,而头文件中的static函数则会供所有包含它的源文件使用,与static变量类似。
在头文件中定义的被static修饰的函数,与未被static修饰的函数存在的区别是,static函数在内存中只维持一份,而普通函数每次调用都会维持一份拷贝

总结

只有在源文件中使用static关键字,其修饰的变量或函数被其他文件调用时才会出现未声明的情况。尽量避免在头文件中使用static。

相关文章:

  • Ubuntu中安装和配置SSH的完全指南
  • LeetCode 算法:三数之和c++
  • Java中的泛型类型参数详解
  • 代碼隨想录 day22|day23
  • 7EPhone云手机各功能详解
  • Java 面试题:Java 的动态代理是基于什么原理?
  • js文件 .mjs和.umd.js结尾的文件的区别
  • 【光伏预测】基于BP神经网络实现光伏发电功率预测附Matlab代码
  • Spring Cloud Gateway 集成 Nacos、Knife4j
  • 计算机网络7——网络安全3 互联网使用的安全协议
  • 网关(Gateway)- 自定义过滤器工厂
  • 基于安卓的虫害识别软件设计--(2)模型性能可视化|混淆矩阵、热力图
  • 【制作100个unity游戏之27】使用unity复刻经典游戏《植物大战僵尸》,制作属于自己的植物大战僵尸随机版和杂交版6(附带项目源码)
  • x264 参考帧管理原理:b_ref_reorder 数组变量
  • Vue:路由管理vue-router
  • 【跃迁之路】【444天】程序员高效学习方法论探索系列(实验阶段201-2018.04.25)...
  • C语言笔记(第一章:C语言编程)
  • Git的一些常用操作
  • iOS 系统授权开发
  • JavaScript DOM 10 - 滚动
  • Java到底能干嘛?
  • KMP算法及优化
  • Linux快速复制或删除大量小文件
  • 精彩代码 vue.js
  • 前端技术周刊 2019-02-11 Serverless
  • 前端面试之闭包
  • 前嗅ForeSpider教程:创建模板
  • 适配mpvue平台的的微信小程序日历组件mpvue-calendar
  • 新版博客前端前瞻
  • 资深实践篇 | 基于Kubernetes 1.61的Kubernetes Scheduler 调度详解 ...
  • ​LeetCode解法汇总2696. 删除子串后的字符串最小长度
  • # 手柄编程_北通阿修罗3动手评:一款兼具功能、操控性的电竞手柄
  • #Linux(Source Insight安装及工程建立)
  • #我与Java虚拟机的故事#连载04:一本让自己没面子的书
  • $refs 、$nextTic、动态组件、name的使用
  • (ibm)Java 语言的 XPath API
  • (SERIES10)DM逻辑备份还原
  • (二刷)代码随想录第15天|层序遍历 226.翻转二叉树 101.对称二叉树2
  • (附源码)springboot助农电商系统 毕业设计 081919
  • (附源码)ssm航空客运订票系统 毕业设计 141612
  • (三维重建学习)已有位姿放入colmap和3D Gaussian Splatting训练
  • (图文详解)小程序AppID申请以及在Hbuilderx中运行
  • (一)Thymeleaf用法——Thymeleaf简介
  • (原創) 如何安裝Linux版本的Quartus II? (SOC) (Quartus II) (Linux) (RedHat) (VirtualBox)
  • ./configure,make,make install的作用
  • .NET Compact Framework 多线程环境下的UI异步刷新
  • .NET MAUI Sqlite数据库操作(二)异步初始化方法
  • .net oracle 连接超时_Mysql连接数据库异常汇总【必收藏】
  • .Net Remoting(分离服务程序实现) - Part.3
  • .net 使用$.ajax实现从前台调用后台方法(包含静态方法和非静态方法调用)
  • .NET/C# 反射的的性能数据,以及高性能开发建议(反射获取 Attribute 和反射调用方法)
  • ::什么意思
  • :=
  • @Query中countQuery的介绍
  • [ 常用工具篇 ] POC-bomber 漏洞检测工具安装及使用详解