之前在学习c++的时候对于这一个问题有很大的疑问,问老师之后并没有得到合理的解答,所以之后跑去知乎上问了一下,现在就把我得到的一些回答总结一下。
1. 并不是所有的编程语言都会吧variable放在栈上面。比方说,java会把所有的内容都放在堆上,然后会有一个gc进程不断的回收垃圾。
2. 堆的空间要远比栈要大。
3.某些数据结构只能在堆上实现,比方说链表
4.当你某一个程序结束之后还想在获得它运算求得的数据,那就把数据结果放在堆上面
暂时知道的就是这样,又有新的答案就会慢慢来补充
之前在学习c++的时候对于这一个问题有很大的疑问,问老师之后并没有得到合理的解答,所以之后跑去知乎上问了一下,现在就把我得到的一些回答总结一下。
1. 并不是所有的编程语言都会吧variable放在栈上面。比方说,java会把所有的内容都放在堆上,然后会有一个gc进程不断的回收垃圾。
2. 堆的空间要远比栈要大。
3.某些数据结构只能在堆上实现,比方说链表
4.当你某一个程序结束之后还想在获得它运算求得的数据,那就把数据结果放在堆上面
暂时知道的就是这样,又有新的答案就会慢慢来补充