Mar*_*rio 4 c++ arrays encapsulation
对不起,如果之前有人询问,但我找不到足够明确的答案.
在C++中提供对数组成员的公共只读访问权的正确方法是什么?
如果我有类似以下的类:
class Particle
{
double _position[10];
public:
double* get_position()
{
return _position;
}
};
我想要返回一个指向数组的指针真的很糟糕,因为这意味着它可以在类之外的任何时候更改,是否足以返回一个const指针?
我已经看到了关于在C++中使用数组的其他问题,以及如何使用向量是一个更好的选择,但我对这个问题非常好奇.
你可以看到我只是一个C++菜鸟,如果这是一个愚蠢的问题,对不起.
PD抱歉我的英语不好.
返回const*并不是更好,因为调用者可以将常量抛弃.
考虑提供一个const Iterator而不是返回一个指针.这使您的类用户可以访问位置,而不会暴露实现细节.如果您以后想要从固定长度数组切换到STL容器,则可以这样做而不会影响该类的用户.