QList的内存问题想不明白了,请大家指点一下.
我的测试代码如下:
#include <QtCore/QCoreApplication>
#include <QList>
#include <QDebug>
QList<int> list;
void testlist()
{
for(int i=0;i<20;i++){
list<<(i+20); ///<--------增加到链表中的是 局部变量, 不是通过内存来分配的,
}
}
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
testlist();
for(int i=0;i<20;i++)
qDebug()<<list.at(i);
return a.exec();
}
而我的理解是 临时变量是分配到栈里的, 那么在出栈的时候, 自然就释放了,那么链表中的数据当然也就没有了, 为什么在接下来链表打印时还可以打印出来, 不明白,往各位指教一下,谢谢.