我做了一個自定義類,它涉及大量的數字和字符串計算。我通過只提供訪問器而不使用增變器來使我的類不可變。一旦對象被構建,就不會改變它的一個屬性。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'。 –