作者:花花花 | 来源:互联网 | 2022-12-04 11:43
想象一下,我有一些指令使用/操作我的范围内的许多变量,并且这些指令需要在同一范围内重复多次.
有没有办法封装所有它们并只使用一条指令调用它们而不使用函数?例:
int main()
{
int cOntador= 0;
float dato;
queue cola;
// a lot of other variables
RUTINA
{
contador++;
cola.push(dato);
// manipuling a lot of other variables
cout<<"Se ha ingresado un nuevo dato: "<
显然,尝试使用函数执行此操作不会很好(特别是如果我们在例程中操作许多变量).
更新:如果我在main()之外使用一个函数(内部不允许),它当然会工作,但是我必须发送所有变量如何引用参数...它与复制/粘贴几乎相同每次我需要时的rutine代码.
1> Cheers and h..:
这是一个通过引用捕获的lambda.
auto const rutina = [&]()
{
contador++;
cola.push(dato);
cout<<"Se ha ingresado un nuevo dato: "<
你这样使用它:
rutina();
但这通常不是一个好主意.
更好地阅读定义命名函数,并将相关变量作为参数传递给此类函数.
是否有人能够理解他们所要求的答案确实是一个有趣的问题.但是,我不确定它是否相关.;-)
@AliRojas:C++ 11或更高版本.目前的标准是C++ 17.
技术上是正确的,但你确定OP可以理解吗?