我正在使用Qt 4.5并使用QList<QStringList>
这是一个字符串列表列表。
现在我想在一个stringList中替换一个字符串,但是输入它似乎很不寻常。我找到了以下方法,并且想知道它是否正常:
QList <QStringList> pDataList;
pDataList[listIndex].replace(QStringIndex, newString);
现在,我并不担心语法,但我想知道pDataList
的指针是否在内存中是相邻的,因此可以使用[]
。还有其他办法吗?
答案 0 :(得分:5)
pDataList
元素在内存中相邻的问题与是否可以使用operator[]
的问题无关。
一般情况下,QList<>
并不保证其元素在内存中是相邻的,但它会重载operator[]
以提供您正在寻找的元素。
在做这样的事情时,你唯一需要担心的是确保(pDataList.size() < listIndex)
。否则,您将索引不在列表中的元素,在调试中触发异常或在发布中触发未定义的行为。