其实,资源管理是由编程语言的运行时决定的,不是编程语言的核心概念。
理论上你可以写个 cpp 的虚拟机,比如你把 cpp 编译到 webasm,那么它的变量内容可能就存储在堆里面。
你也可以写个 c 语言的解释器,不编译到 native exe 而是解释执行。碰到 int x; 这样的代码就在堆里面申请个 int 类型。
【 在 nextworld8 的大作中提到: 】
: 其实大部分语言无论在语言层面如何定义,本质上来说就是数据是存在堆还是栈的问题。
: 一般存在栈的就是值类型,内存空间存的值。 堆一般都是动态分配的内存,那么变量对应的空间(分配在栈)存的是堆内对象地址相当于桥接。
: 可以操作指针语言分的很清楚 ;不能操作指针的都是隐含的引用,编译器负责实现[upload=1][/upload]
: ...................
--
FROM 183.253.143.*