0

我有一个包含一个大数组的类。我想将数组设为私有,但我需要从中读取大量数据,但要确保它永远不会被类外的任何东西改变。有什么方法可以引用一个数组,使它可以被读取,但不能被写入?

编辑:这个类将被分发,我想防止对所有私人成员的未经授权的访问。这似乎使得任何类型的引用都成为不可能。

4

3 回答 3

2

这样的事情会做吗?

class ReadOnlyArray
{
private:
    float mData[SIZE][SIZE];
public:
    float Get( int i, int j ) const { return mData[i][j]; }
};
于 2013-08-20T23:17:37.847 回答
1

是的,您可以返回对 的 const 引用vector<vector <T>>(您正在使用向量,而不是自己分配内存,对)。

就像是:

class MyCLass
{
  private:
    vector<vector<T>> v;
    ...
  public:
    ...
    const vector<vector<T>>& getVector()  const { return v; }
};
于 2013-08-20T23:17:50.220 回答
1

将数组设为私有。创建公共函数以从数组中检索和返回数据。

于 2013-08-20T23:19:16.437 回答