我一直在阅读Bjarne Stroustrup写的一本优秀的书,他建议你尽可能晚地声明变量,最好在你使用它之前,但是它没有提到任何好处而不是在函数体的开头迟到声明变量.
那么像这样延迟声明变量有什么好处:
int main()
{
/* some
code
here
*/
int MyVariable1;
int MyVariable2;
std::cin >> MyVariable1 >> MyVariable2;
return(0);
}
Run Code Online (Sandbox Code Playgroud)
而不是像这样的函数体的开头:
int main()
{
int MyVariable1;
int MyVariable2;
/* some
code
here
*/
std::cin >> MyVariable1 >> MyVariable2;
return (0);
}
Run Code Online (Sandbox Code Playgroud)
它使代码更容易遵循.通常,您在需要时声明变量,例如,当您想通过该循环找到最小值的某个循环时.通过这种方式,当有人读取您的代码时,他不必尝试破译函数开头时25个变量的含义,但变量将在通过代码时"解释"自己.毕竟,了解变量的含义并不重要,但要了解代码的作用.
请记住,大多数情况下,在代码的一小部分中使用该局部变量,因此在需要它的那个小部分中定义它是有意义的.
想到几点
auto myObj = creationalfunction();)auto,这使得代码时间更加灵活.