题
我使用Qt 4.5,并用QList<QStringList>
其是字符串列表的列表即时工作。
现在我想更换一个StringList的内部但它似乎是不寻常输入一个字符串。我发现这样做的以下方式,并想知道,如果它是确定的:
QList <QStringList> pDataList;
pDataList[listIndex].replace(QStringIndex, newString);
现在,我不担心语法,但我想知道,如果pDataList
的指针是adjascent在内存中,以便它是好的使用[]
。是否有另一种方式做到这一点?
解决方案
pDataList
的元件是在存储器的相邻的问题是不相关的其是否是确定使用operator[]
的问题。
在一般情况下,QList<>
不保证其内容是在内存中相邻的,但它确实超载operator[]
给你你要找的仍然元素。
您不必担心做这样的事情时,唯一的事情是确保(pDataList.size() < listIndex)
。否则,你会不索引列表中的元素,触发在发布调试或不确定的行为异常。
不隶属于 StackOverflow