List<List<int>> testlist = new List<List<int>>();
int yadda = testlist[0][0];
C ++中的等价物是什么?
我试过了:
List<List<int>^>^ testlist = gcnew List<List<int>^>();
int yadda = testlist[0][0];
但是这给出了错误“System :: Collections :: Generic :: List :: default [int] :: get [with T = System :: Collections :: Generic :: List ^]”无法用给定的方法调用参数列表参数类型是:(int,int)对象类型是:System :: Collections :: Generic :: List ^&gt; ^。
我实现它的唯一方法是
List<List<int>^>^ testlist = gcnew List<List<int>^>();
int yadda = ((List<int>^)testlist[0])[0];
但是对于每个维度,使用强制转换操作符都不是非常易读。
那么有更好的方法在C ++中获取多维列表的元素吗?
答案 0 :(得分:0)
如果你想要一个列表列表,你可以这样做:
list< list<int> > testlist = list< list<int> >(0,list<int>(0,0));
请注意最里面list<int>
之后的空格。编写list<list<int> >
而不是list<list<int>>
是必要的,因为在第二种情况下,编译器会将其解释为运算符>>
,因此会出错。
如果您想要访问[i][j]
之类的元素,请改用std::vector
。