堆栈或堆

问题描述:

我在寻找一个现代的编程语言,它允许指定特定类型的变量,原始的或复杂的,将被分配明确地分配内存。 C++实现这种行为:堆栈或堆

堆栈

auto stackAllocatedVal = MyClass(params); 

auto heapAllocatedPtr = new MyClass(params); 

void* heapAllocatedSpacePtr = malloc(SIZE); 
//now we can fill the allocated space on heap 

能够这样做的语言,我知道,是C++和生锈。但我寻求一个更实用的。任何建议?

+0

这是什么意思“更多功能”? – Renzo

+0

@Renzo功能作为一种编程范式 – Rulli

+0

C++提供lambda表达式,所以你可以在一个函数式编程风格使用。 – Renzo

MLKit with regions实现扩展了基于区域的内存管理功能的编程语言Standard ML,这可能是接近你在找什么。一般来说,这里的主要技术挑战是保证手动内存管理下的安全性,例如当对象X被释放时之前指向X的另一个对象。