by和Visual Basic。其中C#同时支持“unsafe块”（不安全代码块），即一段暂时关闭边界检查、启用指针以提高效率的代码块。这个功能常被用于加速一小段不可能出现越界问题的代码的执行速度，而不至于破坏整个程序的安全性。除了这些语言，D语言和OCaml也支持自动边界检查，但是允许用户通过编译器的一个开关选项来选择是否启用该功能。然而，有一些编程语言（比如C语言）为了提高速度，从来都不会自动进行边界检查，这经常导致差一错误（见右图）和缓冲区溢出的发生。许多程序员认为这些语言为了速度所付出的代价太大了