Qtの基礎 - 集合
ナビゲーションに移動
検索に移動
概要
QSet
クラスは、各要素がユニーク (重複がない) であることを保証するコンテナである。
内部的にはハッシュテーブルを使用しており、主に要素の存在確認、要素の追加、削除等に使用される。
QSet
クラスは、要素に対する高速なアクセスを提供するが、要素間の順序は保証されない。
一方、QMap
クラスとQHash
クラスは、キーと値のペアを保持する連想コンテナである。
QMap
は内部的に赤黒木を使用しており、キーに基づいて要素が自動的にソートされる。
QHash
クラスはハッシュテーブルを使用しており、キーに基づく高速なアクセスを提供するが、要素の順序は保証されない。
QSet
クラスは要素のユニークな集合を管理するためのコンテナであり、キーと値のペアを連想して管理するQMap
クラスやQHash
クラスとは異なる目的で使用される。
許可された値
以下の例では、許可された値の集合を作成して、任意の変数の値がこの集合に含まれているかどうかを確認している。
#include <QSet>
// 許可された値のQSetを定義
const QSet<int> allowedValues = {10, 20, 30, 40, 45, 50, 55, 60, 70};
// 任意のint型の変数
int hoge = 100;
// 任意のint型変数において、許可された値のQSetに含まれているかどうかを確認
if (!allowedValues.contains(hoge)) {
// 許可された値ではない場合
hoge = 50;
}