开发者

Question about a QList<QStringList> in Qt

I'm using Qt 4.5 and im working with a QList<QStringList> which is a list of string list.

Now I want to replace one string inside one stringList but with it seems unusual to type. I have found the following way of doing it and was wondering if it is ok:

QList <QStringList> pDataList;

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

Now, I'm not worried about the syntax, but I want to know if pDataList's pointers is adjascent 开发者_C百科in memory so that it is okay to use []. Is there another way to do it?


The issue of pDataList's elements being adjacent in memory is not related to the question of whether it is ok to use operator[].

In general, QList<> does not guarantee that its elements are adjacent in memory, but it does overload operator[] to give you the element you're looking for nonetheless.

The only thing you need to worry about when doing something like this is to make sure that (pDataList.size() < listIndex). otherwise, you'll be indexing elements not in the list, triggering an exception in debug or undefined behavior in release.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜