繁体   English   中英

c++ 中用户定义的 class 的大小

[英]Size of user defined class in c++

有没有计算 c++ class 大小的方法。 当我在 class 下面创建一个 object 时,object 的大小为 24 字节。

class student
{
  student* pointer;
  char * c;
  student* AnotherPointer;
  class SubClass
  {
    int a,b;  
  };
};

现在从学生 class 中删除子类,我仍然得到学生 class object 的大小为 24。为什么它没有改变?

class student
{
  student* pointer;
  char * c;
  student* AnotherPointer;
};

有没有计算 c++ class 大小的方法。

您可以使用sizeof运算符来获取 class 或任何其他类型的大小。 例如:

std::cout << sizeof(student);

删除子类

请注意,名为Subclass的 class 不是“子类”。 它是一个嵌套的 class。

为什么它没有改变?

因为您没有对 class 的子对象进行任何更改。 嵌套的 class 不是子 object。 它实际上根本不是 object - 它是一种类型。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM