我正在使用Qt 4.5,并且我正在使用QList<QStringList>
(它是字符串列表的列表)。
现在,我想在一个stringList中替换一个字符串,但是键入起来似乎很不正常。我找到了以下方法,并且想知道是否可以:
QList <QStringList> pDataList;
pDataList[listIndex].replace(QStringIndex, newString);
现在,我不必担心语法,但是我想知道
pDataList
的指针是否在内存中相邻,以便可以使用[]
。还有另一种方法吗? 最佳答案
pDataList
的元素在内存中相邻的问题与是否可以使用operator[]
的问题无关。
通常,QList<>
不能保证其元素在内存中相邻,但是确实会重载operator[]
来为您提供您正在寻找的元素。
做这样的事情时,您唯一需要担心的就是确保(pDataList.size() < listIndex)
。否则,您将为不在列表中的元素建立索引,从而在调试中触发异常或在发行版中触发未定义的行为。