采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师,请问下在堆区的内存是一段一段分配的怎么来理解? 另外在栈区的变量的内存是随机分配的吧,只有在堆区的内存是一段段分配的吗?(就是有连续性的分配)
堆的内存分配可以由程序员自己掌控,所以很多分配内存的优化方案会在分配空间时将一段连续区域一次性分配出来,然后通过一系列方案去管理这段内存,这是一种内存池的方案,所以尽量少在工程中需要时就临时去分配一段空间,这样会产生内存碎片;栈就没办法了,系统控制,程序员管不了。
非常感谢!
但是栈区分配的内存也是连续分配的是吧?虽然是由系统控制的 堆的内存分配可以由程序员自己掌控的意思是可以在特定的时刻运行然后在特定的时候释放吗?
栈分配的方式不一定像你想的那么连续,编译器会做很多处理,包括安全性和代码优化的问题,等我们讲函数栈时你可以仔细观察。堆是由程序员可以掌控分配和释放空间时机,所以非常灵活,能否用好取决于程序员素质。
登录后可查看更多问答,登录/注册
一部大片,一段历史,构建C++知识框架的同时重塑你的编程思维
1.2k 12
1.3k 10
1.2k 9
991 9