首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >初始化和访问<QVector< QVector<int> > QT5

初始化和访问<QVector< QVector<int> > QT5
EN

Stack Overflow用户
提问于 2015-11-08 12:14:39
回答 1查看 2K关注 0票数 1

我已声明:

代码语言:javascript
复制
//myclass.h
QVector<int> aux;
QVector< QVector<int> > tests;

//myclass.cpp
aux = (QVector<int>(2));

它工作正常,但现在我希望将每个测试 QVector维度初始化为2个长度: 20和5。

代码语言:javascript
复制
tests = (QVector< QVector<int> >(20)(5));

但这是不行的。如何初始化它?

第二个问题是如何使用类似的方法访问测试位置吗?

代码语言:javascript
复制
tests[1][4]

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-08 12:19:42

您可以使用一个大小和一个对象来初始化它,以便在每个对象上复制:

代码语言:javascript
复制
//Your .h
QVector<int>          aux;
QVector<QVector<int>> tests;

//your .cpp
aux   = QVector<int>(2);
tests = QVector<QVector<int>>(20, aux);

注意,在测试初始化中使用aux向量将不会引用它(因此,将来不会通过添加测试来修改它),或者修改它。这样,测试中将有大小为2的20 QVectors。

关于第二个问题,它应该与testsx一起工作,但是如果不是,您可以只使用.at()方法

代码语言:javascript
复制
tests.at(x).at(y);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33593810

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档