是否有一种语言与RAII + Ref计数没有不安全的指针算术?

ano*_*non 6 c++ memory programming-languages raii

RAII =资源获取是初始化

Ref Counting ="穷人的GC"

它们一起非常强大(就像一个包含VBO的ref-count 3D对象,它在调用析构函数时会释放它).

现在,问题是 - 除了C++之外,RAII中是否存在任何语言?特别是,一种不允许指针算术/缓冲区溢出的语言?

Max*_*ert 2

Perl 5 具有引用计数和析构函数,当所有引用超出范围时,保证调用它们,因此 RAII 在该语言中可用,尽管大多数 Perl 程序员不使用该术语。

Perl 5 不公开 Perl 代码的原始指针。

然而,Perl 6 有一个真正的垃圾收集器,并且实际上允许关闭垃圾收集器;所以你不能依赖以任何特定顺序收集的东西。

我相信 Python 和 Lua 使用引用计数。