我正在处理这段代码,其中有些参数(比如A和B)需要根据彼此的值进行更新。每次更新都需要一个单独的类,完整的算法包含在另一个类中,例如:
class MyClass {
AUpdater aUpdater;
BUpdater bUpdater;
void doStuff(int numTimes) {
for (int i=0; i<numTimes; i++) {
aUpdater.update();
bUpdater.setParams(aUpdater.get_a());
bUpdater.update();
aUpdater.setParams(bUpdater.get_b());
}
}
}
class AUpdater {
protected:
A a;
B paramb;
public:
void update();
A get_a();
}
class BUpdater {
protected:
B b;
A parama;
public:
void update();
B get_b();
}
现在,我认为在类A和类B中使用对A和B的引用将加快代码的速度,因为无需在每次迭代时调用getter和setters方法。
但是,我读到在类中具有引用参数可能不是一个好主意,并且由于我是c ++的新手,所以我在徘徊什么是此特定任务的“正确”代码设计。
特别是,哪个对象应具有“原始” A和“原始” B?他们应该在MyClass中吗?
谢谢!