我有一个包含大数组的类。我想将数组设为私有,但我需要从中读取大量数据,但要确保它永远不会被类外的任何内容更改。有没有办法引用一个数组,以便可以从中读取,但不能写入?
编辑:此类将分发,我想防止未经授权访问所有私人成员。这似乎使得任何类型的引用都不可能。答案 0 :(得分:1)
会这样吗?
class ReadOnlyArray
{
private:
float mData[SIZE][SIZE];
public:
float Get( int i, int j ) const { return mData[i][j]; }
};
答案 1 :(得分:1)
是的,您可以返回vector<vector <T>>
的const引用(您正在使用向量,而不是自己分配内存,对吧)。
类似的东西:
class MyCLass
{
private:
vector<vector<T>> v;
...
public:
...
const vector<vector<T>>& getVector() const { return v; }
};
答案 2 :(得分:1)
将数组设为私有。创建公共函数以从数组中检索和返回数据。