質問

私は、文字列のリストのリストであるQList<QStringList>でのQt 4.5とイム作業を使用しています。

今、私は1つSTRINGLISTの内側が、型に変わったようだと1つの文字列を置換します。私はそれをやって、次の方法を発見したし、それがOKであればと思いまして。

QList <QStringList> pDataList;

pDataList[listIndex].replace(QStringIndex, newString);
今、私は構文を心配しないんだけど、私はpDataListを使用しても大丈夫であるように[]のポインタはメモリ内にadjascentあるかどうかを知りたいです。それを行うための別の方法はありますか?

役に立ちましたか?

解決

メモリーに隣接しているpDataListの要素の問題は、operator[]を使用しても大丈夫であるかどうかという問題とは関係ありません。

一般的に、QList<>は、その要素がメモリに隣接していることを保証するものではありませんが、それはあなたがそれにもかかわらず、探している要素を与えるために、過負荷operator[]を行います。

あなたはこのような何かをやったときに心配する必要がある唯一のものは、その(pDataList.size() < listIndex)を確認することです。そうでない場合は、あなたがリリースにおけるデバッグや未定義の動作中に例外をトリガ、リストにない要素のインデックスを作成することがあります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top