【发布时间】:2013-08-11 15:06:45
【问题描述】:
假设我有这样的情况:
class A {
private:
std::vector<X> _v;
// ...
public:
A();
// ...
};
并假设我需要限制对矢量元素的访问以进行编辑和/或阅读。我应该使用什么类型的索引(int、long、std::size_t、自定义迭代器或其他)从 A 类外部指定向量中的元素?
以下索引是否正确?
class A {
// ...
X getVectorElement(std::size_t);
void editSomeElementValue(std::size_t, double); // double is the type of the value to edit
};
我还有什么其他选择?
【问题讨论】:
-
严格来说,索引类型是
std::vector<T>::size_type,虽然这通常与std::size_t相同。
标签: c++ stl containers std size-t