美文网首页C/C++学习笔记
C++ 类的静态成员变量学习笔记

C++ 类的静态成员变量学习笔记

作者: 零岁的我 | 来源:发表于2020-04-26 13:10 被阅读0次

  • 类中的静态成员变量可以用来实现多个对象共享数据的目标。
  • static成员变量属于类,不属于任何具体的对象,即使创建多个对象,也只为静态成员变量分配一份内存,所有对象使用的都是这份内存中的数据。当某个对象修改了数据时,其他对象也能检查到。
  • static成员变量必须在类声明的外部初始化,必须初始化,并且只能在类体外部进行。初始化时可以不赋初值,默认初始化为0。全局数据区的变量都有默认的初始值0,而动态数据区(堆区、栈区)变量的默认初始值是不确定的,一般都是垃圾值。
  • static成员变量在初始化时不能再加static关键字,但必须要有数据类型。例如:int Student::m_total=0;
  • static成员变量的内存分配既不是在声明类时分配,也不是在创建对象时分配,而是在(类外)初始化时分配,也就是说,没有在类外初始化的static成员变量是不能使用的。
  • static成员变量可以使用对象访问,也可以通过类访问。
  • static成员变量不占用对象内存,而是在所有对象之外开辟内存,即使不创建对象也可以访问。这就意味着static成员变量不随对象的创建而分配内存,也不随对象的销毁而释放内存。而普通成员变量在创建对象时分配内存,在对象销毁时释放内存。
  • static成员变量和普通的static变量类似,都是在内存分区中的全局数据区分配内存,到程序结束时才释放。

相关文章

  • C++中的成员变量和成员函数

    C++中的类有两个成分: (1)成员变量 成员变量按照作用域分为静态成员变量和非静态成员变量,C++中成员变量的默...

  • C++中的静态成员

    静态成员变量 在C++中可以定义静态成员变量静态成员变量属于整个类所有静态成员变量的生命期不依赖于任何对象可以通过...

  • [初学C++]静态成员

    静态成员变量和成员函数 在C++中,静态成员是属于整个类的而不是某个对象,静态成员变量只存储一份供所有对象共用。所...

  • C++ 类的静态成员变量学习笔记

    类中的静态成员变量可以用来实现多个对象共享数据的目标。 static成员变量属于类,不属于任何具体的对象,即使创建...

  • 2018-1-14//C++的静态成员

    静态成员简述 在C++中,静态成员是属于整个类的而不是某个对象,静态成员变量只存储一份供所有对象共用。所以在所有对...

  • java相关零碎知识

    java初始化,加载顺序: 父类的静态成员变量,父类静态代码块,子类的静态成员变量,子类的静态代码块,父类非静态成...

  • C++ 类和对象-静态成员(四)(7)

    1. 静态成员 1.1 静态成员变量 在一个类中,若将一个成员变量声明为static,这种成员称为静态成员变量。与...

  • Python中的静态成员变量

    python 也可以定义静态成员变量,就是类的变量。 注意python的静态成员变量只能通过 类.变量名 的形式获...

  • static静态成员变量、成员函数的作用

      数据成员可以分为静态变量、非静态变量两种。  静态成员:静态类中的成员加入static修饰符,即是静态成员,可...

  • java static 关键字的理解

    1.类的加载顺序:父类的静态变量--》父类的静态方法--》子类的静态变量--》子类的静态方法---》父类的成员变量...

网友评论

    本文标题:C++ 类的静态成员变量学习笔记

    本文链接:https://www.haomeiwen.com/subject/obmdwhtx.html