私のプロジェクトでは、文字列のリストで文字列が出現するかどうかを判断する必要があります。リスト内の重複は許可されておらず、順序は関係ありません。
文字列検索に最適な Qt コンテナーを選択するのを手伝ってください。
私のプロジェクトでは、文字列のリストで文字列が出現するかどうかを判断する必要があります。リスト内の重複は許可されておらず、順序は関係ありません。
文字列検索に最適な Qt コンテナーを選択するのを手伝ってください。
文字列のリストが必要な場合、Qt はQStringListクラスを提供します。
すべての文字列が追加されたら、removeDuplicates 関数を呼び出して、重複がないという要件を満たすことができます。
文字列を検索するには、フィルター関数を呼び出します。この関数は、文字列を含む文字列のリスト、または関数に渡された正規表現を返します。
Qt のドキュメントから改作した例を次に示します。
// create the list and add strings
QStringList list;
list << "Bill Murray" << "John Doe" << "Bill Clinton";
// Oops...added the same name
list << "John Doe";
// remove any duplicates
list.removeDuplicates();
// search for any strings containing "Bill"
QStringList result;
result = list.filter("Bill");
結果は、「Bill Murray」と「Bill Clinton」を含む QStringList です。
文字列がリストに含まれているかどうかだけを知りたい場合は、contains関数を使用します。
bool bFound = list.contains("Bill Murray");
Found は true を返します。