关于Qt中的QList<QStringList>的问题

5
我将使用Qt 4.5,并且正在使用一个字符串列表QList<QStringList>进行开发。现在,我想要替换一个字符串列表中的一个字符串,但这种方式似乎不太常见。我找到了以下的方法,想知道是否可行:
QList <QStringList> pDataList;

pDataList[listIndex].replace(QStringIndex, newString);

现在,我并不担心语法问题,但我想知道pDataList的指针是否相邻,以便可以使用[]。还有其他方法吗?

1个回答

5

pDataList元素在内存中相邻的问题与使用operator[]是否合适无关。

一般而言,QList<>不能保证其元素在内存中相邻,但它会重载operator[]以便于获取您要查找的元素。

当您进行这样的操作时,唯一需要担心的是确保 (pDataList.size() < listIndex)。否则,您将索引不在列表中的元素,在调试中触发异常或在发布版本中导致未定义行为。


我认为你的意思是 pDataList.size() > listIndex - JakeStrang

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接