- 博客(6)
- 收藏
- 关注
原创 C++中深拷贝和浅拷贝
浅拷贝:将指针拷贝过来(有可能造成内存泄漏)深拷贝:申请一片空间,经内存拷贝过来如果类中有带指针的成员变量,如果调用默认的构造函数,将进行浅拷贝。那么两个对象有可能指向同一个地址,当对象结束时,会调用两次析构函数,导致内存泄漏如果使用默认的拷贝构造函数...
2019-08-21 13:06:01
93
原创 new和malloc的区别和联系
malloc是c语言中的函数new是c++中的运算符new1.调用构造函数2.调用malloc分配内存delete1.调用free释放内存2.调用析构函数
2019-08-21 12:49:46
120
原创 C/C++内存管理模型
C的内存分为四个区域程序在内存中的执行过程1)操作系统把物理代码加载到内存中2)操作系统把C代码分为四个区3)操作系统找到main函数的入口执行C内存模型具体的分区堆(heap)程序员手工分配,c中对应的malloc(分配堆中内存)free(释放堆中内存)。C++中主要是new,delete分配释放堆中的内存,如果不释放就可能造成内存泄漏(memory leak)。(mallo...
2019-08-21 12:47:53
388
原创 static的用法
写在前面的话烦够了一遍一遍的搜索查资料,索性总结一下自己的理解。防止好不容易记住的东西,以后忘了,这种感觉真实糟糕透了。static的用法一共有五种,如果想彻底弄懂static,需要了解C/C++的内存模型。一,静态局部变量前言:为什么要搞这个静态局部变量呢,其实它和全局变量用法及其相似,它主要用在函数体中,我们知道函数中的变量是编译器在栈空间上自动分配内存的,等到函数体结束,编译器自动...
2019-08-21 11:41:49
137
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人