我有一个方法,我想在两个数据成员之一上迭代运行,在它们之间交替。我想过做以下事情
void myClass::alternating_method(){
Graph G;
&G = iteration_number%2 ? &A : &B;
helper_method_which_modifies(G);
iteration_number++;
return;
}
where A
and B
and iteration_number
are all myClass
members,但我不确定它会起作用。这对我来说似乎是对的,但这种风格让我错了。期望的结果是object.alternating_method()
在一个循环中调用并让它修改object.A
and object.B
。
这行得通吗?有没有更好的办法?会不会有意想不到的后果?我是否需要担心G
超出范围时会调用析构函数?
编辑:为了澄清,我的意思helper_method_which_modifies
是包含几种方法的 100 行的简写。修改G
的主要是 boost graph 方法。现在我看到了答案,似乎最好的办法是拥有一个除了在和alternator
之间进行选择之外什么都不做的事情,然后将正确的变量传递给另一个方法。A
B