元<型名 F,型名...T>
空 向变动作(F&f,向量<变量<T...>>&呀){
静 常式 整 I=变量大小值<变量<T...>>;
整 i=0;极 要下=0;
对(动&t:呀){//比元组展开灵活点,
i=t.索引();//表示这是变量的第几个.
切为编<I>(i,[&](动 k){
常式 整 N=推导(k)::值;要下=0;
静 动 g=取<N>(t);f(g,要下);
});//后面没有i++;
如(要下)下;异 中;
}//这里还有i++,(中),(下)
}//光是这样,可以直接用(元组)
使用:
空 动作(向量<串>&p){//过的顺序也是有讲究的
动 f=[&](静 动&g,极&要下){
如(!g.要要(p)){要下=1;中;}
g.动作(p);如(g.继续)要下=1;
};//这里f不能为静,静就锁住了p了.每一次是变化的.
向变动作(f,过);
}//如果有一个满足了,就中.如果不满足,则继续
变量的好处就是可以放在向量
里面.然后统一处理.
因为展开
有时不好处理.元组
就是展开
的,有时不好操作
.
注意f
不能为静
,否则,会失败
.每次都是第一个.
d
中可以暂停执行
来避免溢出
.