`

C++中的static成员、static const成员和const成员的初始化

 
阅读更多

(1)static成员要在类外初始化:这样的成员是属于整个类的,但非常量,所以可以类外初始化,也可以用静态函数初始化。


(2)const static成员可在类内初始化:这样的成员是属于整个类的常量。



(3)const成员要在构造函数初始化表中初始化:这样的成员是每个对象中都有的,只不过是常量,所以要在每次构造对象时初始化。


分享到:
评论

相关推荐

    类的static,const,static const,const static成员的初始化

    在 C++ 编程中,static、const、static const 和 const static 是四个常见的概念,但它们的初始化方式却容易弄混淆。下面我们将对这四种成员变量的初始化方式进行总结和解释。 1. 类里的 const 成员初始化 在一个...

    const成员函数、初始化列表、static成员1

    C++ 编程语言中,const 成员函数、初始化列表、static 成员变量是三个重要的概念,它们在编程中发挥着重要的作用。 const 成员函数 在 C++ 中,const 成员函数是指不能修改对象的状态的成员函数。这些函数的this...

    C++类成员和数据成员初始化总结

    总结来说,C++中的类成员和数据成员初始化是一个严谨的过程,需要理解构造函数的机制,以及`const`、`static`和数组的特殊性。正确初始化成员可以确保对象的有效性和代码的健壮性。遵循这些规则,可以帮助我们编写出...

    C++中static关键字总结

    1. 类的静态成员变量和普通数据成员不能在类的定义体中初始化,除了静态常量成员。 2. 静态常量成员可以在类定义体中进行初始化,并且必须在定义时初始化。 static关键字还可以用于全局变量,成为静态全局变量。...

    const与static用法完整总结

    为了能够给`const`成员变量赋初值,必须在构造函数的初始化列表中进行初始化: ```cpp class A { public: const int size = 100; // 在类定义中初始化 A() : size(100) {} // 或者在构造函数中初始化 int array...

    C++全局变量初始化的一点总结

    C++中的全局变量初始化是一个重要的话题,涉及到程序的正确性和可预测性。全局变量,即具有静态存储期的变量,其生命周期始于程序开始,终于程序结束。本文将深入探讨全局变量初始化的时机、方式以及一些处理特殊...

    const,extern,static,volatile的使用

    - **局部变量**:如果在一个函数中定义了一个局部变量并加上 `static`,那么这个变量在整个程序运行期间都存在,并且其初始值只会被初始化一次。 **2. static 函数** - **限制作用域**:在一个文件中定义了带有 `...

    C++类的静态成员初始化详细讲解

    整型和枚举型const静态成员可以直接在类声明中初始化,而其他类型的静态成员则需要在类声明之外初始化,并使用作用域解析运算符指定所属的类。注意静态成员的初始化只应在一个地方完成,避免在头文件中,以防止重复...

    C++静态成员函数与静态成员变量小结

    因此,静态数据成员的定义(初始化)不应被放在头文件中。 2. 静态数据成员被类的所有对象所共享,包括该类派生类的对象。即派生类对象与基类对象共享基类的静态数据成员。 3. 静态数据成员可以成为成员函数的可选...

    C++中static要点总结

    本文将详细探讨`static`在C++中的应用场景及其重要性,特别是针对静态成员变量和静态成员函数。 #### 二、静态成员变量 静态成员变量是类的一个组成部分,但不属于任何特定对象。它在整个程序运行期间只被创建一次...

    C++类中的static和const用法实例教程

    A():m(10) //const成员必须在构造函数的初始化构造列表中初始化 { q = 40; } void fun1()const { m++; //错误。const成员是常量,不能改变其值。 n++; //正确。static变量n属于类,但是每个对象的函数都可以...

    简述C++11就地初始化与列表初始化

    在C++11中,结构体或类的数据成员在申明时可以直接赋予一个默认值,初始化的方式有两种,一是使用等号“=”,二是使用大括号列表初始化的方式。注意,使用参考如下代码: class C { private: int a=7; //C++11 ...

    C++ 中 const和static readonly区别

    C++ 中 const 和 static readonly 区别 C++ 中 const 和 static readonly 是两种不同的关键字,它们都用于修饰变量或字段,但是它们之间存在着本质的区别。 首先,const 是一个编译时常量,它的值是在编译期间确定...

    constt文档

    `const`修饰的成员变量必须在初始化列表中进行初始化,因为它们不能在类的构造函数体中直接赋值。例如: ```cpp class Test1 { private: int a = 10; const int b = 10; // 错误,不能在类中直接初始化 const ...

    c++ 类中const成员变量的赋值方法

    在头文件的类的定义中定义了一个const成员变量c++ 规则: 1、类定义中不能进行初始化,因为头文件中类的定义只是一个声明,并没有分配真正空间,因此变量是不存在的,因此是不能赋值的。 2、const 定义的变量是不能...

    关于C++中构造函数初始化成员列表的总结

    3.关于static const是否应该在初始化成员列表中初始化?  static const为全局静态常量,全局的意思是该变量属于整个类而非某个类实例,所以不能再初始化列表中进行初始化。 以上就是小编为大家带来的关于C++中构造...

    C++类中的各种成员,嵌套类,友元,this指针专题(pdf)

    本文详细介绍了C++类中的各种成员,包括静态成员变量、静态成员函数、const成员变量、const成员函数、const静态数据成员、const对象、嵌套类、友元、this指针以及.*和->*运算符。理解这些概念对于深入学习C++非常...

    C++中静态成员函数与静态成员变量(static )

    静态成员变量的初始化需要在类外定义和初始化,可以使用初始化列表初始化静态成员变量。如果静态成员变量是常量,可以在类外定义并初始化,例如: ```cpp class CNum { public: const static int num; }; const ...

Global site tag (gtag.js) - Google Analytics