0
我看着在互联网上却找不到一个明确的回答这个问题,所以我在这里。
我知道:operator[][]()
不是一个有效的运算符重载,但它是一种重载[] []运算符(例如在vector<vector<typename>>
上使用)的方法。
我需要这个,因为我在做一种包装类的包含载体的载体,而且我也喜欢
我看着在互联网上却找不到一个明确的回答这个问题,所以我在这里。
我知道:operator[][]()
不是一个有效的运算符重载,但它是一种重载[] []运算符(例如在vector<vector<typename>>
上使用)的方法。
我需要这个,因为我在做一种包装类的包含载体的载体,而且我也喜欢
是的,但它取决于operator []
返回类型。您可以返回一个本身支持operator []
的类型。
比方说:
struct Matrix
{
vector<vector<int> > x;
vector<int>& operator[] (int i)
{
return x[i];
}
};
因为x[i]
回报vector
,您可以再次使用[]
因为vector
有operator[]
。