2つのデータメンバーの1つで、それらを交互に繰り返し実行したいメソッドがあります。私は次のことを考えました
void myClass::alternating_method(){
Graph G;
&G = iteration_number%2 ? &A : &B;
helper_method_which_modifies(G);
iteration_number++;
return;
}
whereA
とB
anditeration_number
はすべてmyClass
メンバーですが、機能するかどうかはわかりません。それは私には正しいように思えますが、スタイルは私を間違ってこすります。object.alternating_method()
望ましい結果は、ループを呼び出して、それを変更object.A
してもらうことobject.B
です。
これは機能しますか?もっと良い方法はありますか?予期しない結果が生じるでしょうか?G
スコープ外になったときにデストラクタが呼び出されることを心配する必要がありますか?
編集:明確にするために、私はhelper_method_which_modifies
いくつかのメソッドを含む100行の省略形を意味しました。変更するのG
は主にブーストグラフメソッドです。答えがわかったので、との間でalternator
選択し、正しい変数を別のメソッドに渡す以外に何もしないものを用意するのが最善のようです。A
B