- 博客(2)
- 资源 (3)
- 收藏
- 关注
原创 C++堆(head)、栈(stack)、内存分配
程序的运行场所是内存,栈和堆是进程的虚拟内存中的两部分区域。 当程序被执行时,程序代码,你所创建的变量、常量等都会被压入栈空间里,栈是程序代码的执行区域。栈的内存地址是连续的且被一一记录,所以说当你创建了一个变量(比如int var = 1),我们就可以通过var这个变量来访问变量的内容。在这里,var就存放在栈中,它的地址已经默认被编译器计算好了,调用过程也不需要你涉及到有关地址的操作。更直观...
2016-08-29 18:52:28 783
原创 C++实例化对象和用动态内存分配实例化对象比较
这个本质上是对象分配区域的问题,前者是在栈(stack)上分配空间,后者是在堆(heap)上分配空间。 栈上分配空间的好处是快,而且对象生存期是自动的,离开当前域之后就自动析构回收。坏处就是栈空间有限,而且不能人为控制对象的生存期,比如你无法将一个函数内部的栈上的对象返回,因为这个函数执行完毕后栈空间会自动回收。 堆上分配空间就相反,new一个空间出来是很慢的,而且对堆上对...
2016-08-29 18:44:34 578
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人