C++中的全局静态变量和局部静态成员区别以及静态成员函数

本文探讨了C++中全局静态变量、局部静态变量与静态成员函数的区别。全局静态变量的作用域限于整个程序,而局部静态变量在函数结束时不销毁,其值在下次调用时保持不变。静态成员函数属于类而非对象,不使用`this`指针,常用于替代全局变量。静态成员变量需要在类外初始化,对所有对象共用。
摘要由CSDN通过智能技术生成

全局变量:其是在所有的函数体的外部定义的,程序的所有部分(甚至是其他文件中的代码都可以使用,存储在程序部分的静态存储区,也就是作用域为整个程序的结束),但是如果在另外一个文件使用extern关键字声明另外一个文件中存在全局变量,未初始化时被自动初始化为0.
静态全局变量:在全局变量前加关键字static,全局变量就定义为一个全局静态变量。
静态局部变量:出现在一个作用域内,是局限在一个函数中的,经常被成为自动变量,其作用域为定义它的函数或者语句块结束的时候,但是离开作用域时并没有被销毁,仍然驻留在内存中,不过不能够使用,直到函数再次被调用且其值不变。

#include <iostream>
using namespace std;
int gCount=0;
class Test
{
   
    private:
        static int cCount;
    public:
        Test()
        {
   
            gCount++;
            cCount++;
        }
        ~Test()
        {
   
            --cCount;
             gCount++;//全局变量++
        }
        int getCount
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值