我正在寻找一种现代编程语言,它允许指定分配给定类型,原始或复杂变量的位置。 C ++实现了这种行为:
堆栈
auto stackAllocatedVal = MyClass(params);
堆
auto heapAllocatedPtr = new MyClass(params);
或
void* heapAllocatedSpacePtr = malloc(SIZE);
//now we can fill the allocated space on heap
我所知道的能够使用的语言是c ++和Rust。但我寻求更实用的功能。有什么建议吗?
答案 0 :(得分:0)
MLKit with regions实现了一种函数式编程语言Standard ML,该语言扩展了基于区域的内存管理,可能与您正在寻找的内容接近。一般来说,这里的主要技术挑战是保证手动内存管理下的安全性,例如当对象X在另一个指向X的对象之前被解除分配时。