在C与C++中编译器只会对这类用法做出警告。根据Java标准的要求，每个局部变量在使用之前都必须明确地初始化，从这点来说Java中的局部变量与可以默认值（数值变量对应0，对象对应null）进行隐式初始化的实例变量是有所差异的。
Perl.自动变量在C与C++中的实现则为词法变量（"Lexical"）、my/私有变量（"Private Variable"）。在Perl中，局部变量是以操作符my声明的。未初始化的数据项的默认初值是undef，而未初始化的数组与散列的默认初值则为()。P