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[]
。