这有相当多的优势。
首先,只有当需要的变量被给定的上下文由他们周围的语句。如果X被定义在函数的顶部,我们将不知道它是什么,直到我们扫描功能,并发现它被使用。定义X之间的一堆的输入/输出语句有助于使很明显,这个变量被用于输入和/或输出。
第二,定义一个变量,只有它是必要的告诉我们,这个变量不影响任何上面的它,使我们的程序更容易理解和需要较少的滚动。
最后,它减少了无意中留下一个变量未初始化的可能性,因为我们可以定义然后立即初始化它的价值我们要有。
这使它看起来有点更清楚,值5只被分配给变量B。
因为定义多个变量在一个单一的线和初始化是一方的错误,我们建议您只定义多个变量对线如果你没有初始化任何人。
规则:避免定义多个变量在一个单一的线如果初始化任何人。
哪里定义变量
旧的C编译器强迫用户在函数顶部的函数中定义所有的变量:
首先,只有当需要的变量被给定的上下文由他们周围的语句。如果X被定义在函数的顶部,我们将不知道它是什么,直到我们扫描功能,并发现它被使用。定义X之间的一堆的输入/输出语句有助于使很明显,这个变量被用于输入和/或输出。
第二,定义一个变量,只有它是必要的告诉我们,这个变量不影响任何上面的它,使我们的程序更容易理解和需要较少的滚动。
最后,它减少了无意中留下一个变量未初始化的可能性,因为我们可以定义然后立即初始化它的价值我们要有。
规则:将变量定义为尽可能接近其第一次使用。
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int main()
{
using namespace std;
cout << "Enter a number: ";
int x; // we need x on the next line, so we'll declare it here, as close to its first use as possible.
cin >> x; // first use of x
cout << "Enter another number: ";
int y; // we don't need y until now, so it gets declared here
cin >> y; // first use of y
cout << "The sum is: " << x + y << endl;
return 0;
}
这使它看起来有点更清楚,值5只被分配给变量B。
因为定义多个变量在一个单一的线和初始化是一方的错误,我们建议您只定义多个变量对线如果你没有初始化任何人。
规则:避免定义多个变量在一个单一的线如果初始化任何人。
哪里定义变量
旧的C编译器强迫用户在函数顶部的函数中定义所有的变量:
1
2
3
4
5
6
7
int a, double b; // wrong (compiler error)
int a; double b; // correct (but not recommended)
// correct and recommended (easier to read)
int a;
double b;