![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
EW_DUST
这个作者很懒,什么都没留下…
展开
-
简单做个实验分析一下 new/new[] 和 delete/delete[]
先来介绍下流程。 new/new[],他的流程是先开辟了一个空间,然后调用了构造函数。 delete/delete[]先调用析构函数,然后释放内存。 那么如果new/delete和new[]/deletep[没有配对会出现什么问题。 对于这个问题我做了简单的实验。 非基础类型 也就是自己写的类。 先说下结论 delete释放new[]只会调用第一个的析构函数,导致内存泄漏。 delete[]...原创 2020-03-05 12:10:59 · 307 阅读 · 0 评论 -
简单研究C++ 对象内存布局
关于C++对象布局 看了大佬的博客,大佬的博客过于久远格式比较清奇,我整理了,顺便改了程序能够在 64位机运行。 单一的一般继承 通俗的讲,一层层下去。 #include<iostream> using namespace std; class Parent { public: long iparent;//因为是64位机,所以改成了 long Pare...原创 2020-02-16 23:30:54 · 150 阅读 · 0 评论 -
C++ 虚拟继承对象布局
自己做实验的时候发现和一些文章上面的有点不一样。 #include <iostream> using namespace std; class B { public: long ib; long cb;//全都定义成 long 这个方便看内存,不然不是对齐的 public: B() :ib(0x1010), cb(0x1010) {} virtual...原创 2020-02-16 23:29:43 · 237 阅读 · 0 评论