在某些情况下,我们需要一个变量只是暂时的。例如,考虑以下情况:
我们可以这样写:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
int
Add( int
nX, int
nY) { int
nSum = nX + nY; return
nSum; } int
main() { using
namespace
std; cout
<< Add(5, 3); |
在add()功能,注意,北索马里联合运动变量是真的只作为临时占位符变量。它没有多大贡献,而,它唯一的功能是将表达式的结果的返回值。
其实是有一种更简单的方式来使用匿名变量写add()功能。一个匿名的变量是一个没有名字的变量。在C + +匿名变量”的表达范围”,意思是他们在表达它们的最终破坏了。因此,他们必须立即使用!
这里是add()函数改写使用匿名变量:
1
2
3
4
|
int
Add( int
nX, int
nY) { return
nX + nY; } |
当表达NX +纽约进行评估,结果被放置在一个匿名的,未命名的变量。一本匿名变量返回值给调用者。
这不仅与返回值,而且与功能参数。例如,而不是这个:
1
2
3
4
5
6
7
8
9
10
11
12
|
void
PrintValue( int
nValue) { using
namespace
std; cout
<< nValue; } int
main() { int
nSum = 5 + 3; PrintValue(nSum); return
0; } |
1
2
3
4
5
|
int
main() { PrintValue(5
+ 3); return
0; } |
在此情况下,表达式5 + 3的评价产生结果的8,这是放置在一个匿名变量。一本匿名变量然后传递到printvalue()功能,将值8。
注意,这使代码保持干净多了-我们不需要的垃圾代码,只使用一次临时变量。
匿名类的对象
虽然我们之前的例子已经内置数据类型,可以构建自己的类类型对象和匿名。这是通过创建对象一样正常进行,但省略变量名。