我已经宣布了这个:
//myclass.h
QVector<int> aux;
QVector< QVector<int> > tests;
//myclass.cpp
aux = (QVector<int>(2));
它工作正常,但现在我想将每个测试 QVector维度初始化为2个长度:20和5.类似于:
tests = (QVector< QVector<int> >(20)(5));
但这不是好的。怎么能初始化它?
第二个问题是如何使用[]访问测试位置是否与此类似?:
tests[1][4]
感谢。
答案 0 :(得分:1)
您可以使用大小和对象对其进行初始化,以便在每个对象上进行复制:
//Your .h
QVector<int> aux;
QVector<QVector<int>> tests;
//your .cpp
aux = QVector<int>(2);
tests = QVector<QVector<int>>(20, aux);
请注意,在测试初始化时使用辅助向量将不会引用(因此将来不会通过访问测试进行修改)或修改它。 这样,测试将有20个QVectors,大小为2。
关于第二个问题,它应该与测试[x] [y]一起使用,但如果没有,你可以使用.at()方法
tests.at(x).at(y);