c ++参考成员:好的做法?

时间:2018-11-27 11:11:52

标签: c++ pass-by-reference

我正在处理这段代码,其中有些参数(比如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中吗?

谢谢!

0 个答案:

没有答案