在某些情况下,我们需要一个变量只是暂时的。
例如
,
考虑以下情况
:
我们
可以这样写
:
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。
注意,这使代码保持干净多了-我们不需要的垃圾代码,只使用一次临时变量。
匿名类的对象
虽然我们之前的例子已经内置数据类型,可以构建自己的类类型对象和匿名。这是通过创建对象一样正常进行,但省略变量名。