C ++数组就像类元素定义一样

时间:2016-02-13 19:11:29

标签: c++ arrays oop operators

我想为微控制器创建一个较小的矢量类。

在普通的矢量类中,您可以执行以下操作:

myvector[1] = 100;

如何在课堂上实现这样的作业?

我试过了:

template<typename T>
class Vector
{
 private:
    T* content;
 public:
    T* operator[](unsigned int);
};
template <typename T>
T* Vector::operator[](unsigned int i)
{
    return &content[i];
}

但是,这会引发错误,而且也不是一个好的解决方案。

那我该怎么办?

1 个答案:

答案 0 :(得分:2)

如果您在上面显示,则返回指向该值的指针,这可能是您遇到困难的原因。请考虑返回引用:

T& operator[](unsigned int);
相关问题