C/C++静态成员变量和静态成员函数

SpringBoot使用mybatis-plus的自动代码生成器 一.SpringBoot使用mybatis-plus+自动代码生成 使用mybatis-plus可以自动帮我们生成通用的 controller,service,dao,mapper 二.加入依赖 <!-- MP 核心库 --> <dependency> <groupId>com.baomidou</groupId> <artif... 阅读详情

C中的静态变量和静态函数。
(1)C中的静态变量是处于全局存储区,区别于自动变量的存储于栈中。两者的关键 区别是其作用域的区别。自动变量的作用域处于其所在的函数或语句块中;而静态 变量的作用域起始于其定义处,终止于程序结束处。

 

(2)C中的静态函数主要是限制函数的名字以及可访问域于文件中,表示此函数仅供 此文件所用,不允许在其他文件中调用的。有关静态函数的使用可以考虑几点:一 是静态函数的名字仅可见于其所定义的文件。这就允许在不同的文件中存在同名的 静态函数。可以利用此特性将本文件常用的代码抽象出来成为函数,而在使用此段 代码的地方直接调用函数即可。这样允许用简短的名词定义此函数。我的体验,在 面临定义功能相同的函数是,为他们取一个美丽的名字其实很困难,而在使用上对 名字的记忆也颇费苦心。而用静态函数可以省力许多。而普通函数是可以全局访问的,而且在C中没有名字空间的概念,所以对C中函数的命名颇费苦心。


C++中的静态成员变量和静态成员函数。
(1)类静态数据成员在编译时创建并初始化:在该类的任何对象建立之前就存在, 不属于任何对象,而非静态类成员变量则是属于对象所有的。类静态数据成员只有 一个拷贝,为所有此类的对象所共享。需要注意的是:静态数据成员不能在类中初 始化(对于常量静态类变量有待考证,好像可以在类外或main()函数之前定义,初 始化可以放在类中),一般在类外和main()函数之前初始化,缺省时初始化为0。静态据成员用来定义类的各个对象所公有的数据,比全局变量更安全。(2)类静态成员函数属于整个类,不属于某个对象,由该类所有对象共享。静态成员可定义为inline函数。一般情况下静态成员函数用于访问同一类中的静态数据成员或全局变量,而不访问非静态成员,如需访问非静态成员,需要将对象作为参数,通过对象名访问该对象的非静态成员。静态成员函数也可以在类外定义,此时不可以用 static修饰。静态成员函数存在的原因是什么呢?主要是在建立任何对象之前可用它来访问静态数据成员,普通函数不能实现此功能。

   C++静态成员和静态成员函数的使用:静态成员的调用格式:类名::静态数据 成员名、对象名.静态数据成员名、对象指针->静态数据成员、对象引用.静态数据 成员(但类中很少会出现公有数据成员,这段仅仅讨论语法,未考虑实际运用中的数据封装问题)。静态成员函数的调用格式:类名::静态成员函数名、对象名.静 态成员函数名、对象指针->静态成员函数名、对象引用.静态数据成员。静态成员 函数没有this指针,因它不与特定对象相联系,调用时推荐使用“类名::静态成 员函数名”格式。总结来说,在有对象的情况下,可以用调用普通类成员函数、普 通成员变量的方式调用静态成员函数和静态成员变量。从这里可以看出静态成员变 量和静态成员函数的使用应该是在不建立任何对象的情况下调用它们。其应用可以 参见设计模式中Singleton pattern。

华为OD机试真题 新系统 2026-08-16 Python&JS【智能家居模式调度优化】 智能家居系统中有多个自动化联动模式,每个模式 modes[i]=[start_time,end_time,power],表示它在左闭右开区间 [start_time,end_time) 内持续消耗固定功率 power。 阅读详情

相关推荐

python 抖音采集_python爬取抖音视频的实例详解

import requestsimport jsonimport reimport osfrom pprint import pprint as ppimport queueclass DouYin:header = {'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*...

weixin_35795675的博客 1864

【C++】静态成员变量 ( 静态成员变量概念 | 静态成员变量声明 | 静态成员变量初始化 | 静态成员变量访问 | 静态成员变量生命周期 )

一、静态成员变量概念 1、静态成员变量引入 2、静态成员变量声明 3、静态成员变量初始化 4、静态成员变量访问 5、静态成员变量生命周期 二、完整代码示例

让 学习 成为一种 习惯 ( 韩曙亮 の 技术博客 ) 6971

TSmaster CANFD配置避坑指南:为什么你的PCAN盒不支持最新版本?

本文针对TSmaster配置PCAN硬件进行CANFD通信时的常见问题,提供了详细的避坑指南。重点解析了CANFD配置中TSEG1等关键参数的理解误区,并深入探讨了TSmaster新版本与PCAN硬件驱动之间的兼容性变化,帮助工程师快速定位并解决连接失败或无法发送CANFD报文等问题。

alpha的博客 541

C++之静态成员变量

c++ static静态成员变量

z1zyy的博客 6895

Vivado ILA抓不到低频信号?试试Capture Control模式,保姆级配置教程(附PWM调试实例)

本文详细解析了Vivado ILA的Capture Control模式在低频信号捕获中的应用,特别针对PWM调试等场景提供保姆级配置教程。通过条件采样和时间拉伸技术,有效解决传统ILA采样在低频信号调试中的存储深度不足、关键信号丢失等问题,并附赠呼吸灯PWM的完整调试实例,帮助FPGA开发者提升调试效率。

weixin_42549451的博客 349

深度学习中的注意力机制

最近两年,注意力模型(Attention Model)被广泛使用在自然语言处理、图像识别及语音识别等各种不同类型的深度学习任务中,是深度学习技术中最值得关注与深入了解的核心技术之一。本文以机器翻译为例,深入浅出地介绍了深度学习中注意力机制的原理及关键计算机制,同时也抽象出其本质思想,并介绍了注意力模型在图像及语音等领域的典型应用场景。

优快云人工智能 4万+

【C++】静态成员函数 ( 静态成员函数概念 | 静态成员函数声明 | 静态成员函数访问 | 静态成员函数只能访问静态成员 )

一、静态成员函数简介 1、静态成员函数概念 2、静态成员函数声明 3、静态成员函数访问 4、静态成员函数只能访问静态成员 二、代码示例 - 静态成员函数

让 学习 成为一种 习惯 ( 韩曙亮 の 技术博客 ) 1万+

快速卷积结构FIR数字滤波器的设计与ARM平台实现

本文提出了一种基于快速卷积结构的FIR数字滤波器设计与实现方案。通过Matlab设计了满足特定指标的低通FIR滤波器,采用重叠-保存法和重叠-相加法两种快速卷积算法,将计算复杂度从O(N·M)降低到O(NlogN)。详细介绍了滤波器系数生成、性能验证流程,并提供了ARM平台C语言实现的关键技术,包括定点量化处理。实验结果表明,该方法能有效滤除混合信号中的高频干扰,保留目标1kHz正弦信号,验证了设计方案的有效性。

huanghm88的专栏 123

【C++】静态成员函数

类中的成员函数,若未使用类中的成员变量,则可声明为静态成员函数,函数声明前加上static关键字。静态成员函数不属于对象,属于类。静态成员函数与成员函数用法上的主要不同为:调用静态成员函数时,不需要实例化一个对象。只需要使用类名命名空间标识符) 加函数名即可调用。

Loup&卡普的博客 4623

遗传算法(GA)全面解析:从生物基础到工程实践

本文全面解析了遗传算法(GA),从其生物基础到工程实践应用。遗传算法模拟自然进化过程,通过选择、交叉和变异等操作在解空间中高效搜索最优解。文章详细介绍了算法的生物学基础(达尔文进化论、孟德尔遗传定律)、基本概念(种群、个体、基因等)和核心思想。重点阐述了遗传算法的数学模型,包括编码机制、适应度函数设计、遗传算子(选择、交叉、变异)以及关键控制参数。最后提供了一个完整的Python实现示例,展示了遗传算法求解函数最大值问题的具体应用。该算法具有群体搜索、概率导向、无需梯度等特点,适用于各类复杂优化问题。

qq_42212808的博客 1175

【深度学习|地学应用】MODIS AOD产品和HYSPLIT模型的局限性和不确定性?

【深度学习|地学应用】MODIS AOD产品和HYSPLIT模型的局限性和不确定性?

985小水博的摸鱼日常 461

C++ static静态成员静态函数,语法+示例,超详细!!

C++ static静态成员静态函数,语法+示例,超详细!!

ken2232的博客 4万+

【论文翻译】YOLO26: KEY ARCHITECTURAL ENHANCEMENTS AND PERFORMANCE BENCHMARKING FOR REAL-TIME OBJECT DETEC

本研究对Ultralytics YOLO26进行了全面分析,重点阐述了其在实时边缘目标检测领域的关键架构改进与性能基准测试结果。YOLO26于2025年9月发布,是YOLO系列中最新、最先进的模型,专为在边缘设备和低功耗设备上实现高效能、高精度和部署就绪性而设计。论文依次详细介绍了YOLO26的架构创新,包括移除分布焦点损失(DFL)、采用端到端无非极大值抑制(NMS)推理、集成渐进式损失(ProgLoss)和小目标感知标签分配(STAL),以及引入MuSGD优化器以实现稳定收敛。

Limiiiing的博客 1682

C/C++静态成员变量和静态成员函数(学习笔记)

马上要找实习了,该好好把C++复习复习了,基础不好,学一点就记录一点,久而久之基础就扎实了! 今天的第一个知识点——静态成员变量和静态成员函数 /×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××× 静态数据成员: 类体中的数据成员的声明前加上static关键字,该数据

liubinbbmm的专栏 541

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

C/C++ 静态成员变量和静态成员函数(自学笔记,可能有错)

静态成员 (1) 把一个类的成员说明为static时,这个类无论有多少个对象被创建,这些对象都共享这个static成员,且static成员存放于全局区,不计入类的内存计算。 (2) 静态成员变量可以通过类直接访问。 #include <iostream> using namespace std; class A { public: static int mm; in...

lizequan的博客 296

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

C/C++中静态变量

C/C++中的静态变量1. 静态全局变量2.静态局部变量3. 静态函数4.类内静态成员变量5. 类内静态局部变量6.类内静态函数 C语言中与“静态”相关的词包括,静态全局变量,静态局部变量和静态函数,关键词是static。C语言中的变量从作用域分,可以分为全局变量和局部变量;从存储方式分,可以分为静态存储方式和动态存储方式。 需要区分的概念是,全局变量是存储在静态存储区的,所谓的静态存储区是一个进程所分配内存的.bss和.data段,但全局变量不是并不是静态变量。 1. 静态全局变量 下面代码中的a属于全局

Blunt_Du的博客 1万+

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

在 C/C++中 static 关键字详解

static 关键字详解 C/C++ 中的 static 1. 静态局部变量 2. 静态全局变量 全局变量 与extren 3. static 修饰函数 C++的 static 成员 静态成员变量 静态成员函数 总结: const修饰的静态变量

知识分享与学习笔记总结,欢迎指点 2万+

c/c++--静态变量和静态函数(static)

在C++中,使用static关键字定义静态成员函数。

XINGXIN 3441

C/C++ static关键字的使用

原文见我的网站:因为static的用法又多又杂,值得单出一篇博客用以汇总。

supdriver的博客 917

C++ static详解

一、c/c++共有: 修饰全局变量时,表明一个全局变量只对定义在同一文件中的函数可见。 修饰局部变量时,表明该变量的值不会因为函数终止而丢失。 修饰函数时,表明该函数只在同一文件中调用。 1、全局静态变量: 用法:在全局变量前加上关键字static,全局变量就定义成一个全局静态变量。 static int temp; 内存中的位置:静态存储区,在整个程序运行期间一直存在。 初始化:未经初始化的全局静态变量会被自动初始化为0(自动对象的值是任意的,除非他被显式初始化); 作用域:全局静态变量在声明他的文件

芒种、的博客 1万+

static用法以及静态成员函数和静态成员变量

static关键字作用 static作用:“改变生命周期” 或者 “改变作用域” 程序的局部变量存在于堆栈中,全局变量存在于静态区中,动态申请数据存在于堆中。 1.作用于变量: 声明局部变量:局部变量指在大括号{}中内部定义的变量,只在大括号{}内部有效(大括号{}就是它的作用域),用static声明局部变量时,就会改变变量的存储方式,使变量成为静态的局部变量,这样在代码编译时就为变量分配内存,直到程序退出才释放存储单元。 声明外部变量:外部变量指在所有大括号{}之外定义的变量,它如果定义为静态变量,编译时

weixin_43856817的博客 480

C/C++相关概念和易错知识点(58)(static修饰变量和函数)

在.h声明Fun()函数的地方使用static,如果有n个.c都包含了这个.h,那就告诉我们有n个完全独立的Fun()存在。在类中定义的static函数和static变量类似,它相当于类的公共区域,这个函数的特殊之处在于它的第一个参数没有this指针,这也就意味着。注意区分“包含它的文件”和“它包含的文件”,上面我举例的.h中无法调用static函数就是“它包含的文件”这种情况。我们可以在一个.c定义函数,然后在.h中声明这个函数,如果有很多.c都包含了这个.h,那就相当于告诉它们在。

SGlow0708的博客 2376

C/C++中static的用法全局变量与局部变量

1.什么是static?   static是C/C++中很常用的修饰符,它被用来控制变量的存储方式和可见性。 1.1static的引入   我们知道在函数内部定义的变量,当程序执行到它的定义处时,编译器为它在栈上分配空间,函数在栈上分配的空间在此函数执行结束时会释放掉,这样就产生了一个问题:如果想将函数中此变量的值保存至下一次调用时,如何实现? 最容易想到的方法是定义为全局的变量,但定义...

qq_35886593的博客 623

C/C++ static关键字详解(最全解析,static是什么,static如何使用,static的常考面试题)

本文将会循序渐进,先从C语言的static讲起,慢慢延申到C++,从易到难,每一步都会举一些通俗易懂的例子帮助大家理解(帮助自己理解,怕忘记😂),好了开始整活!

weixin_45031801的博客 18万+

C/C++ static使用(基于VS2010)

(一)在C语言中 静态变量永远只能初始化一次,但是可以多次赋值 (1)局部静态变量,存在于全局数据区 example1: #include int function() { static int a = 10; a++; return a; } int main() { for(int nIndex = 0;nIndex<10;nIndex++) { printf("a =

u012656834的专栏 1361

C/C++中static变量和static函数的用法

C/C++中static变量和static函数的用法 静态成员数据和静态成员函数 1.C中静态数据和静态函数的用法 C语言中定义一个静态变量和静态函数主要是为了满足某个文件的需求 比如我们在文件List.c中定义 static int count = 0

热爱C、热爱ARM、热爱Linux 1053
上一篇: C++虚函数表解析(转)
下一篇: C++变量存储区域及其作用域
devilkin64
博客等级 码龄19年 16粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值