安装者和吸气剂的模板

Ove*_*ain 8 c++ getter setter templates

我不熟悉模板,但我想知道,是否可以将它们用于setter和getter方法.例如在这种情况下:

double exmlClass::getA(void) const
{
    return a_;
}



void exmlClass::setA(const double& a)
{
    a_ = a;
}



double exmlClass::getB(void) const
{
    return b_;
}
Run Code Online (Sandbox Code Playgroud)

如您所见,方法几乎相同,除了它们引用另一个私有变量(a_,b_,c_).是否有更优雅的方式来编写这些函数,或者在这种情况下通常如上所述?如果它常用于使用模板,我将很感激您将如何在上面的代码中使用它们.

我要问的另一个问题是如何恰当地宣布吸气剂和二传手.编码风格好吗?

double getA(void) const;
void setA(const double& a);

double getB(void) const;
void setB(const double& b);

double getC(void) const;
void setC(const double& c);
Run Code Online (Sandbox Code Playgroud)

我的意思是应该getter总是const和setter作为对象的参数引用,而不是复制它,这可能会慢一点?

DaV*_*nci 2

以一种不需要 getter 和 setter 的方式设计你的程序。您可以通过宏创建它们或实现某种属性语法(这是可能的,但总有一些事情不能正常工作)。但是,我想只需在需要时编写访问器或使用 IDE 生成它们就可以了最好也是最常用的方法。

至于你的第二个问题,你至少应该将它用于对象类型,对于基元你并不真正需要它。就我个人而言,如果我无论如何都需要对象的副本,我也不会使用它,但是其他人可能会声称明确地执行此操作可能会更好。