再议:C++类实例化时的内存分配
2017-06-21 15:41
204 查看
#include <iostream> class A{}; class B{}; class C:public A{ double f; virtual void fun(); }; class D:public A,public B {}; class E:public C,public A{}; class F:public A,public C{}; class G:public A{ //double f; virtual void fun(); }; int main() { std::cout << sizeof(A) << std::endl; std::cout << sizeof(B) << std::endl; std::cout << sizeof(C) << std::endl; std::cout << sizeof(D) << std::endl; std::cout << sizeof(E) << std::endl; std::cout << sizeof(F) << std::endl; std::cout << sizeof(double) << std::endl; std::cout << sizeof(G) << std::endl; return 0; }
输出结果为:
1
1
16
1
24
24
8
4
class E 和 class F 的大小为什么是24?
这里涉及到内存对齐原则,但是不理解为什么是24?
相关文章推荐
- c++类实例在内存中的分配
- C++类实例以及子类在内存中的分配
- C++类实例以及子类在内存中的分配
- c++类实例在内存中的分配
- 转:c++类实例在内存中的分配
- c++类实例在内存中的分配 (转)
- 全面介绍Windows内存管理机制及C++内存分配实例(五):堆
- C++类实例占用的内存结构,及虚函数表的一点探究
- 全面介绍Windows内存管理机制及C++内存分配实例(一):进程空间 zz
- C++类实例占用的内存结构,及虚函数表的一点探究
- C++类在内存的分配问题
- 全面介绍Windows内存管理机制及C 内存分配实例(一):进程空间
- 全面介绍Windows内存管理机制及C++内存分配实例之虚拟内存(2)
- Windows内存管理机制及C++内存分配实例(四):内存映射文件
- Windows内存管理机制及C++内存分配实例(五):堆
- Windows内存管理机制及C++内存分配实例
- 全面介绍Windows内存管理机制及C++内存分配实例(六):堆栈
- c++ 基类、派生类都使用了动态内存分配的实例
- 请高手帮忙:C/C++内存分配的问题?实例求解
- Windows内存管理机制及C++内存分配实例(二):内存状态查询