我有一些我想要修改的遗留代码。在A类中,我想添加一些成员(比方说10)并允许访问类似于以前的成员。
class A
{
protected:
double m_dmember1;
double m_dmember2;
double m_dmember3;
public:
double& Member1() { return m_dmember1; }
double& Member2() { return m_dmember2; }
double& Member3() { return m_dmember3; }
A();
}
这样就增加了10个成员和10个访问者。这看起来多余。
我不确切地知道为什么之前的开发人员使用了对其访问器的双引用。看起来他想要一种只使用简单名称访问成员的方法(我猜想与C#属性类似)。
那么,我应该简化A类或者这是一个坏主意吗?
class A
{
public:
double Member1;
double Member2;
double Member3;
A();
}
然后在数组中使用类A的实例,那么可能会使用引用来节省内存吗?
答案 0 :(得分:2)
从设计的角度来看,它们是相同的 - 它们都破坏了封装。
拥有访问器使调试更容易,我会保留代码。
我不确切地知道为什么之前的开发人员使用了对其访问器的双引用。
因为引用会让您更改成员的值。他避免使用两种方法(get
和set
)而是制作一种方法。
然后在数组中使用类A的实例,那么可能会使用引用来节省内存吗?
不,因为引用是返回类型。它们根本不会影响内存占用。