首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

QVector有关问题

2012-04-24 
QVector问题有如下定义:QVectorQVectordouble *test new QVectorQVectordouble 如何对test中

QVector问题
有如下定义:
QVector<QVector<double> > *test = new QVector<QVector<double> >;

如何对test中的元素进行操作?比如test中含有5*5个元素,如何获取其中(3,3)位置的元素,并对其进行操作?


[解决办法]
(*test)[i][j]
[解决办法]

探讨

顺便再问一个:在函数里,怎样返回一个局部变量的指针或引用?
我在一个函数里有一个QVector<QVector <double> * > test,想返回test里面的数据,这个怎么做方便?直接返回时,由于函数返回时,这个指针就编程悬垂指针了,不能得到正确结果。

[解决办法]
顺便再问一个:在函数里,怎样返回一个局部变量的指针或引用?
我在一个函数里有一个QVector<QVector <double> * > test,想返回test里面的数据,这个怎么做方便?直接返回时,由于函数返回时,这个指针就编程悬垂指针了,不能得到正确结果。 
 
一般,函数中的局部变量的指针或者引用是不能作为返回类型的,因为出了函数生命周期结束了.关于你的问题是这样的:
QVector<QVector <double> * > foo()
{
QVector<QVector <double> * > test;
test.append(new QVector <double>());
return test;
}

这样没问题.
就是要记得在外边delete掉new出来的东西
比如:
QVector<QVector <double> * > gettor = foo();
qDeleteAll(gettor);

热点排行