c++向量變數動作.

fqbqrr發表於2020-12-03
<型名 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不能為,否則,會失敗.每次都是第一個.

相關文章