我做了一个自定义类,它涉及大量的数字和字符串计算。我通过只提供访问器而不使用增变器来使我的类不可变。一旦对象被构建,就不会改变它的一个属性。C++不可变的自定义类通过引用或值传递
我从这里的问题是,目前我的功能所有是通过价值。如果你有一个不可变的对象,那么即使需要引用也是通过引用的?由于副本需要不断创建,因此在内存方面浪费了价值?
例如:
class MyInteger
{
private:
const int val;
public:
MyInteger(const int a) : val(a) { };
int getValue() const { return val; }
MyInteger add(const MyInteger other)
{
return MyInteger(val + other.getValue());
}
}
通过引用来传递const。我认为对于内置类型而言,它并不重要。 – 2017-02-04 14:44:52
@RawN我不明白你的意思? – Hatefiend
'getValue'必须是'const'。 –