关于Qt </qstringlist>中的QList <qstringlist>的问题

时间:2009-10-15 00:47:55

标签: qt qt4 nokia qstring

我正在使用Qt 4.5并使用QList<QStringList>这是一个字符串列表列表。

现在我想在一个stringList中替换一个字符串,但是输入它似乎很不寻常。我找到了以下方法,并且想知道它是否正常:

QList <QStringList> pDataList;

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

现在,我并不担心语法,但我想知道pDataList的指针是否在内存中是相邻的,因此可以使用[]。还有其他办法吗?

1 个答案:

答案 0 :(得分:5)

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

一般情况下,QList<>并不保证其元素在内存中是相邻的,但它会重载operator[]以提供您正在寻找的元素。

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