首页 > 其他分享 >静态变量

静态变量

时间:2024-08-11 23:07:32浏览次数:7  
标签:Lang 变量 静态 int static MyClass CppDev

[Lang] 静态变量

1. 静态局部变量

生命周期:程序运行期间

作用域:函数内部

静态局部变量只初始化一次

#include<iostream>
using namespace std;

void exampleFunction() {
    static int counter = 0; // 静态局部变量只初始化一次
    counter++;
    cout << counter << " ";
}
 
int main() {
    for (int i = 0; i < 5; i++) {
        exampleFunction();
    }
    cout << endl;
    return 0;
}
[Running] cd "d:\CppDev\Lang\static\" && g++ test1.cpp -o test1 && "d:\CppDev\Lang\static\"test1
1 2 3 4 5 

[Done] exited with code=0 in 0.388 seconds

2. 静态成员变量

生命周期:程序运行期间

作用域:可以通过类名直接访问,也可以通过类的对象访问,且在所有对象之间共享

静态成员变量必须在类外初始化

#include<iostream>
using namespace std;

class MyClass{
public:
    static int count;
    MyClass() {
        count++;
    }
};

// 静态成员变量必须在类外初始化
int MyClass::count = 0;

int main() {
    MyClass obj1, obj2, obj3;
    cout << "Number of objects created: " << MyClass::count << endl;
    return 0;
}
[Running] cd "d:\CppDev\Lang\static\" && g++ test2.cpp -o test2 && "d:\CppDev\Lang\static\"test2
Number of objects created: 3

[Done] exited with code=0 in 0.43 seconds

3. 静态全局变量

生命周期:程序运行期间

作用域:本文件

static int globalVar = 0; // 静态全局变量

标签:Lang,变量,静态,int,static,MyClass,CppDev
From: https://www.cnblogs.com/yaoguyuan/p/18354071

相关文章

  • 2.2 C 语言常量的定义与变量命名的规范及原则
    目录1常量1.1常量的分类1.2符号常量(#define)1.2.1定义不同类型的符号常量1.2.2 注意事项1.3使用const 定义常量1.3.1定义不同类型的常量1.3.2常量的命名规范2变量2.1变量名的作用2.2变量的命名规范2.3变量的命名原则2.4大小驼峰命名法1常量 ......
  • 论文精要:《对静态分析缺陷报告进行聚类,以降低维护成本》
    1.前言周末找到一篇《对静态分析缺陷报告进行聚类,以降低维护成本》,读了之后受到不少启发,特此将笔记整理出来。论文出处:Publishedin:201320thWorkingConferenceonReverseEngineering(WCRE)DateofConference:14-17October2013ISSNInformation:DOI:10.1109/W......
  • cmake里常见有关输出路径的变量
    参考资料[cmake-variables](cmake-variables(7)—CMake3.30.2Documentation)常见有关输出路径的变量变量(均可跟_来区分Debug和Release)Windows其他操作系统CMAKE_ARCHIVE_OUTPUT_DIRECTORY静态库.lib文件待补充CMAKE_RUNTIME_OUTPUT_DIRECTORY动态库.dll......
  • 变量对比
    静态变量VS成员变量(1)所属不同静态变量属于类,所以也称为为类变量成员变量属于对象,所以也称为实例变量(对象变量)(2)内存中位置不同静态变量存储于方法区的静态区成员变量存储于堆内存(3)内存出现时间不同静态变量随着类的加载而加载,随着类的消失而消失成员变量随着对象的创建......
  • 数据类型 --变量
    变量:可变的量(值可变)//变量是用来对程序中某些数据的存储,引用可以更改输出结果的颜色int关键字int整数数值类型intnum=100;Console.WriteLine(num);//100把变量在控制台输出,返回变量的值。int整数数值类型num变量名“自定义”=运算符“赋值”100值“可......
  • Linux:线程同步机制(互斥锁、读写锁、条件变量、信号量详细分析总结)
    目录速览1、互斥锁(1)What(什么是互斥锁)(2)Why(互斥锁的用途)(3)How(如何使用互斥锁)(4)代码实践2、读写锁(1)What(什么是读写锁)(2)Why(读写锁的作用)(3)How(如何使用读写锁)(4)读写锁的特征3、条件变量(1)What(什么是条件变量)(2)Why(条件变量的作用)(3)How(如何使用条件变量实现线程......
  • 21:Python函数全局变量和局部变量
    #全局变量与局部变量,全局变量大写,局部变量小写NAME='ladfs'#定义全局变量,全局作用域顶格defchange_name():print('change_name',NAME)#调用全局变量change_name()#全局变量与局部变量NAME='ladfs'#定义全局变量defchange_name():......
  • Kubernetes-Init容器与静态Pod
    目录Init容器什么是Init容器?理解init容器Init容器与普通容器的不同之处静态Pod通过配置文件创建Init容器在Pod的生命周期中,可以执行多种操作如下图:什么是Init容器?Init容器也就是我们平时常说的初始化容器。InitContainer就是用来做初始化工作的容器,可以是一个或者多个,如果有......
  • 单例模式-饿汉、懒汉(线程安全、双重检查锁定)、静态内部类、枚举
    1饿汉式这种方式是最简单的单例模式实现,它在类加载的时候就创建了单例对象。优点实现简单线程安全缺点无论是否使用,都会加载单例类并创建单例对象publicclassSingleton{privatestaticfinalSingletonINSTANCE=newSingleton();privateSingleton(){......
  • vmware nat 设置静态ip
    宿主机操作系统:win7vmware版本:15.5.7redhat镜像版本:OracleLinuxServerrelease6.8(可通过lsb_release-a查看)vmware-编辑-虚拟网络编辑器,如果没有NAT模式的网络,要新建一个如VMnet8.VMnet信息选"NAT模式".点"NAT设置"记下来下面的子网ip(如192.168.85.0)子网掩码(......