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