一个类有个“数组”私有成员:
class MyClass
{
public:
/* === */
private:[]
int *array;
}
在构造函数中会根据一些维数来分配array。现在某另一个类需要频繁访问array的值,我不想用friend。如果设计个接口:
int* GetArray() {return array;}
这样别的代码就可以直接操作array,似乎破坏了类的封装性。
如果我用拷贝
void GetArray(int* DesArray) {for(int i = 0; i < N; i++) DesArray[i] = Array[i];}
这样操作起来似乎又慢又耗内存
有什么好办法? |