【发布时间】:2018-03-31 04:03:00
【问题描述】:
我对 Qt Qlist 容器有一个有趣的问题。 尝试将 QList 附加到 QList 会使我的迭代器指向内存的未知部分。
QList<int> listSmall;
QList<QList<int>> listBig;
for(int i = 0; i < 3; ++i)
listSmall.append(i);
for(auto it = listSmall.begin(); it != listSmall.end(); ++it)
listBig.append(listSmall);
条件it != listSmall.end(); 如果我将小列表附加到大列表,则始终为真。
为什么会这样?
附: STL 列表工作正常。
【问题讨论】:
-
我对qt一无所知,但请查看此链接,看看您是否能发现它有用stackoverflow.com/questions/41438428/…
-
@Tharushi Geethma 不幸的是,这个问题只是建议使用 stl 算法,但没有说明附加到 QList 有什么问题。
-
你只要
listBig.append(listSmall);一次就可以追加了!? -
@xander 这不是我在项目中遇到的真正问题,困扰我的行为不清楚
-
您的 listBig 是列表列表吗?这是故意的吗?如果是这样,您可能只想调用 append 一次,而不是循环调用。