我正在构建一个以 anstd::vector
作为唯一成员的自定义向量类,并通过重载 +、- 和其他函数向其中添加各种数学函数。
我这样做是为了直接访问矢量元素:
template <typename T, int N>
class Vector{
std::vector<T> v;
public:
Vector():v(N,0){}
const T& operator[](int i)const{
return v.at(i);
}
T& operator[](int i){
return v.at(i);
}
在这种情况下,这是一种可接受的重载技术,这样我就可以从 a 中读取元素并从const Vector<...>
非常量中分配给元素?由于at
返回一个引用,在这种情况下可以正确地分配给一个元素吗?