静态成员变量不占用类的内存空间

假定程序运行环境为:操作系统Windows 2000,VC6.0编译环境,X86(80586)CPU处理器(32位小字节序处理器,4字节对齐)
class CExample
{
public:
    CExample();
    virtual ~CExample();
private:
    static int m_iValue1;
    int m_iValue2;
}
类CExample的一个对象CExampleobj,那么sizeof(CExampleobj) = ()。
A、1   B、4   C、8   D、16

C,静态成员变量不占用类的内存空间。

时间: 2024-10-06 06:53:57

静态成员变量不占用类的内存空间的相关文章

c++类占内存空间大小计算

x64环境下实现: 1 #include <iostream> 2 3 using namespace std; 4 5 class kong{ 6 7 }; 8 9 class kong1{ 10 11 }; 12 13 class kong2{ 14 15 }; 16 17 class data2 18 { 19 int a; //4个字节 20 char s; 21 }; 22 23 class data3 24 { 25 int a; 26 char s; 27 virtual voi

第25课 类的静态成员变量

1. 成员变量的回顾 (1)通过对象名能够访问public成员变量 (2)每个对象的成员变量都是专属的 (3)成员变量不能在对象之间共享 2. 静态成员变量 (1)C++中的静态成员变量 ①静态成员变量属于整个类所有 ②静态成员函变量的生命期不依赖于任何对象 ③可以通过对象名,也可以通过类名直接访问公有静态成员变量 ④所有对象共享类的静态成员变量 (2)静态成员变量的特性 ①在定义时直接通过static关键字修饰 ②静态成员变量在程序内部位于全局数据区,所以需要类外为其单独分配空间.(因为new

类的静态成员变量及函数(二十)

我们正常情况下能通过对象名来访问 public 成员变量,每个对象的成员变量都是专属的,成员变量不能在对象之间共享的.我们现在学了这么长时间的 C++,现在又有了一个新的需求:a> 同级在程序运行期间某个类的对象数目:b> 保证程序的安全性(不能使用全局变量):c> 随时可以获取当前对象的数目. 我们首先想到的是定义一个私有成员变量,然后在构造函数中进行 ++ 操作,在析构函数中进行 -- 操作.我们试着写下程序 #include <stdio.h> class Test {

C++--类的静态成员变量

一.成员变量的回顾 1.通过对象名能够访问public成员变量2.每个对象的成员变量都是专属的 3.成员变量不能在对象之间共享Q:新的需求1.统计在程序运行期间某个类的对象数目2.保证程序的安全性(不能使用全局变量)3.随时可以获取当前对象的数目代码示例 #include <iostream> using namespace std; class Test { private: int mCount; public: Test() : mCount(0) { mCount++; } ~Test

C++类中的静态成员变量与静态成员函数的使用

代码: 1 #include <iostream> 2 #include <string> 3 #include <cstdio> 4 5 using namespace std; 6 7 class A{ 8 public: 9 static int a; 10 //static int a = 0; //编译不通过,无法在类内初始化 11 int b; 12 static void func1(){ 13 cout<<"static func&

关于c++中的静态成员变量

下面通过1个例子来解释一下: 1 #include <iostream> 2 #include <string> 3 using namespace std ; 4 5 6 class student 7 { 8 private://把变量声明为私有的 9 int num ; 10 string name ; 11 int math ; 12 int english ; 13 int total ; 14 static string teacher; 15 void cacu_to

C++中类的静态成员变量

1,成员变量的回顾: 1,通过对象名能够访问 public 成员变量: 2,每个对象的成员变量都是专属的: 3,成员变量不能在对象之间共享: 1,在做程序设计中,成员变量一般是私有的.至少不是公有的: 2,新的需求: 1,统计在程序运行期间某个类的对象数目: 2,保证程序的安全性(不能使用全局变量): 3,随时可以获取当前对象的数目: 3,解决方案的尝试编程实验: 1 #include <stdio.h> 2 3 int gCount = 0; 4 5 class Test 6 { 7 pri

C++中类的内存空间大小(sizeof)分析

首先明确各数据类型占多大的空间.例如int到底是占2字节还是4字节空间: 在TC里,int是2字节的(主要是因为TC是16位的,所以int类型也该是16位的)VC++里,int是4字节的,因为现代操作系统下的软件大多是是32位.64位的VC++,本来按理说,该是8字节的,但是可能为了维持32位的源代码移植到64位尽量不出错,所以也维持了4字节的长度.至于其他有名的编译器,如gcc,我还没用过,你得查一查它所规定int的长度 或者利用sizeof(int)也可以计算出来.本人电脑上计算如下: 在C

C++静态成员变量

今天在弄一段代码的时候遇到了静态成员变量的问题.卡了一段时间后,果断翻出<深入探索C++对象模型>,大概明白了问题所在.这事给我的一点启示就是"纸上得来终觉浅,绝知此事要躬行".首先看看问题吧!其实就是一个类型的定义.代码如下: //myApplication.cpp #include "myapplication.h" #include <iostream> using std::cout; using std::endl; myAppli