变量初始化(C#和C++)

wil*_*omc 3 c# c++ variables initialization visual-studio

快速问题,当它没有携带正值或负值时,初始化所有"空白或空"变量是一种好习惯,例如使用:

int value = 0;
Run Code Online (Sandbox Code Playgroud)

代替:

int value;
Run Code Online (Sandbox Code Playgroud)

我接受Visual Studio编译器,根据我的理解,默认情况下,如果未事先初始化变量,则会自动将变量初始化为0,但我很好奇最佳实践是什么以及潜在危险(如果有的话)是什么.

虽然我特别指的是VS环境中的C#和C++语言,但这个问题对所有语言和编译器都是开放的.

Rob*_*vey 7

根据我的理解,Visual Studio编译器默认情况下会自动将变量初始化为0,如果它们未事先初始化的话

不总是.

范围很重要.该类的私有成员会自动分配其默认值,但本地范围的变量(即在方法中声明)不是. out参数不会自动分配.始终赋值Value和Reference参数(它们要么传入值,要么声明默认值).

C#会让你分配一个值的声明,但会不会让你引用一个未分配变量.