QHash > take

特定位置の要素を削除

解説

take()はQHashの指定したキーに関連づけられた要素を取り出します.

定義は以下の通りです.
T QHash::take ( const Key & key )
take()の引数keyには取り出す要素のキーを指定します.

返値が不要な場合はremove()を呼び出した方が処理速度が速くなります.

使用例

  1. #include <QTextCodec>
  2. #include <QTextStream>
  3. #include <QHash>
  4. #include <QList>
  5. int main(int argc, char *argv[]) {
  6. QTextCodec::setCodecForTr(QTextCodec::codecForLocale());
  7. QTextStream out(stdout);
  8.  
  9. QHash<QString, int> hash;
  10. hash.insert("a", 0);
  11. hash.insert("b", 1);
  12. hash.insertMulti ("b", 2); // hash = {<"a", 0>, <"b", 1>, <"b", 2>}
  13. hash.insertMulti ("b", 3); // hash = {<"a", 0>, <"b", 1>, <"b", 2>, <"b", 3>}
  14. out << hash.size() << "\n"; // 4
  15. out << hash.take("b") << "\n"; // 3
  16. out << hash.size() << "\n"; // 3
  17. out << hash.take("b") << "\n"; // 2
  18. out << hash.size() << "\n"; // 2
  19. out << hash.take("b") << "\n"; // 1
  20. out << hash.size() << "\n"; // 1
  21. return 0;
  22. }

出力
4
3
3
2
2
1
1
最終更新:2011年09月22日 22:32
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。