第二个错误是试图宣布两种不同类型的变量在同一行,这是不允许的。
不同类型的变量必须在单独的语句声明。
这
也不是一个
糟糕的错误,
因为编译器
会抱怨
并要求你
修好它
。
这种风格已经过时了。
C + +编译器不需要所有的变量是在函数的顶部声明。
适当的
C++
风格
声明变量
时
,
需要他们的地方
:
在声明中,该nvalue1变量将不初始化,并且编译器不会抱怨。这是你的程序崩溃并产生间歇零星的结果的一个好方法。
记住,这是错误的最好的方法是考虑的隐式初始化的情况下:
1
国际nvalue1,nvalue2(5);
这使它看起来更清楚点,值5只被分配到nvalue2。明确的分配情况是没有什么不同。
在声明变量
老的C编译器强制用户声明所有的变量在函数在函数前:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
int
main()
{
// all variable up top
int
x;
int
y;
// then code
using
namespace
std;
cout <<
"Enter a number: "
;
cin >> x;
cout <<
"Enter another number: "
;
cin >> y;
cout <<
"The sum is: "
<< x + y << endl;
return
0;
}
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
int
main()
{
// then code
using
namespace
std;
cout <<
"Enter a number: "
;
int
x;
// we need x starting here.
cin >> x;
cout <<
"Enter another number: "
;
int
y;
// we don't need y until now
cin >> y;
cout <<
"The sum is: "
<< x + y << endl;
return
0;
}
|
这有很多优势。首先,变量声明仅在需要时由周围的声明上下文。如果X是在功能上说,我们不知道什么是用于扫描功能,直到我们发现它是用。声明x在一大堆的输入/输出报表,使它明显,这个变量是用来输入和/或输出。
第二,声明一个变量只在需要的地方告诉我们,这个变量没有影响什么上面,使我们的程序更容易理解和需要较少的滚动。最后,它减少了无意中留下一个变量未初始化的可能性,因为我们可以宣布,然后立即初始化它的价值,我们希望它有。