首页 > 编程语言 >掌握C++中static关键字的多种使用场景

掌握C++中static关键字的多种使用场景

时间:2023-05-06 17:45:45浏览次数:42  
标签:变量 int C++ 关键字 static 修饰 全局变量 函数

static是什么

在最开始C中引入了static关键字可以用于修饰变量和函数,后来由于C++引入了class的概念,现在static可以修饰的对象分为以下5种:

成员变量,成员函数,普通函数,局部变量, 全局变量

static的作用

修饰成员变量

static修饰成员变量之后,该变量会属于该类,而不是某一个该类的对象。举个例子,Student类种有一个count的变量,在使用static关键字修饰之后,所有Student的对象共用这1个count

调用方式会发生改变,无法通过 对象名 + . 变量名来调用,而是需要通过类名 + 作用域(:

标签:变量,int,C++,关键字,static,修饰,全局变量,函数
From: https://www.cnblogs.com/xiaowange/p/17378109.html

相关文章

  • 深入理解C++右值引用和移动语义:全面解析
    C++11引入了右值引用,它也是C++11最重要的新特性之一。原因在于它解决了C++的一大历史遗留问题,即消除了很多场景下的不必要的额外开销。即使你的代码中并不直接使用右值引用,也可以通过标准库,间接地从这一特性中收益。为了更好地理解该特性带来的优化,以及帮助我们实现更高效的程序,......
  • k09_标识符关键字
    标识符在java语言中,标识符常用来给类、对象、变量、方法、接口、自定义数据类型等命名的。java标识符命名规则:标识符由任意顺序的大小写字母(a-z,A-Z),数字(0-9)下划线(_)和美元符号($)组成。标识符不能以数字开头标识符是区别大小写的标识符目前是没有长度限制的不能把j......
  • java中static方法不能被重写但是能重定义
    1、static方法不能被重写示例1classAnimal{publicstaticvoidwalk(){System.out.println("Animal的行走方法");}}classDogextendsAnimal{publicvoidwalk(){System.out.println("Dog的行走模式");}publicstaticv......
  • static,和auto关键字
    这两个关键字是一对的static表示静态publicstaticvoidmothed1(){stringtext="234.567891230";//Console.WriteLine(int.Parse(text));//必须是对应的类型Console.WriteLine(double.Parse(text));C......
  • 《c++徒步》IO篇
    iostreamcincout参考链接:https://www.runoob.com/cplusplus/cpp-basic-input-output.html标准输出#include<iostream>usingnamespacestd;intmain(){charstr[]="HelloC++";cout<<"Valueofstris:"<<str&l......
  • C++一些bug的记录
    目录表达式必须具有类类型但它具有xxx类型表达式必须具有类类型但它具有xxx类型错误一般发生在使用.进行访问时,原因可能在于:你以为你定义了一个类对象,其实你是声明了一个函数,在编译器看来;对类对象指针采用.的方式访问其成员变量;也包括基本类型变量,错误地使用.inta......
  • 【已解决】Microsoft Visual C++ Redistributable is not installed
    【Error】导入torch,提示报错:MicrosoftVisualC++Redistributableisnotinstalled,thismayleadtotheDLLloadfailure.【Cause】Anaconda没有默认安装在C盘;系统没有安装VC++Redistributable程序。【Resolve】VC++Redistributable.exe双击安装,重启电脑即可。......
  • java封装和关键字
    一、封装封装:告诉我们如何正确设计对象的属性和方法对象代表什么,就得封装对应的数据,并提供数据对应的行为封装的好处:让编程变得很简单,有什么事,找对象,调方法降低学习成本,可以少学,少记,或者说压根不用学,不用记对象有哪些方法,有需要时去找就行二、Private关键字:是一个......
  • 《c++徒步》宏篇
    预处理命令参考链接:https://blog.csdn.net/akpe80900/article/details/102070084预处理命令是什么预处理语句,预处理语句是以#为起始标记,后面跟上预处理关键词。预处理功能,例如,宏定义、文件包括、条件编译等define语法://用来定义宏#define使用://定义常量#defineMAX_WI......
  • 高速爬过C++(3级)
    3级了!!不管做什么,我们都是在想适应所处的环境,真实的或者虚拟的。所以一个好的工具就该让我们在适应方面如虎添翼。因此C++程序就是个能接收环境的输入,然后经过处理,再输出到环境而环境里有什么,不外乎是万物,万物如何用C++来表达,或者C++里用什么来表示万物c++里用类型和变量变......