int all; int ary[N]; for(int i = 1; i < N ; ++i) { all += ary[i]; }
[クラス名](クラス名 & 変数名 , split)と書く。
class TbbSumFromAry //並列処理で加算するクラス
{
private:
double *Ary; //処理データ
public:
double SplitSum; //合計が集まる
//コンストラクタ
TbbSumFromAry(double *InputAry):Ary(InputAry),SplitSum(0){} //全体0で初期化
//分割コンストラクタ、分割先でも初期化
TbbSumFromAry(TbbSumFromAry &SplitTbb, tbb::split) : Ary(SplitTbb.Ary),SplitSum(0){}
... ...
};
class TbbSumFromAry //並列処理で加算するクラス
{
//join関数
void join(const TbbSumFromAry &SplitTbb) //const参照
{
SplitSum += SplitTbb.SplitSum; //結合
}
... ...
}