Я работаю над этим кодом, где есть некоторые параметры (скажем, 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 ускорит код какне было бы необходимости вызывать методы getters и setters на каждой итерации.
Однако я прочитал, что наличие ссылочных параметров в классах может быть не очень хорошей идеей, и, поскольку я довольно новичок в c ++, я бродил, что«правильный» дизайн кода для этой конкретной задачи.
В частности, какой объект должен иметь «оригинал» A и «оригинал» B?Должны ли они быть в MyClass?
Спасибо!