QVector > remove

QVectorから要素を削除

解説

remove()はQVectorの任意の位置の要素を削除します.
pop_front()はQVectorの最初の要素削除します.
pop_back()はQVectorの最後の要素を削除します.

定義は以下の通りです.
void QVector::remove ( int i )
void QVector::remove ( int i, int count )
void QVector::pop_front ()
void QVector::pop_back ()
remove()の引数iには削除する位置,引数countには長さを指定します.countを指定しない場合は1つの要素のみを削除します.

QVectorの各要素はメモリ上に連続して配置されるため,削除した要素の後に続く要素が全方向につめられます.そのため要素数の多いQVectorに対してremove()を行うと,削除位置(特にpop_front())によってはデータの再配置に時間がかかります.
pop_front(),pop_back()はSTLに対する上位互換のために用意されています.

使用例

  1. #include <QTextCodec>
  2. #include <QTextStream>
  3. #include <QVector>
  4.  
  5. int main(int argc, char *argv[]) {
  6. QTextCodec::setCodecForTr(QTextCodec::codecForLocale());
  7. QTextStream out(stdout);
  8.  
  9. QVector<QString> vec;
  10. vec << "0" << "1" << "2" << "3"; // vec = (0, 1, 2, 3)
  11. vec.remove(1); // vec = (0, 2, 3)
  12. vec.pop_front(); // vec = (2, 3)
  13. vec.pop_back(); // vec = (2)
  14. foreach(QString str, vec) {
  15. out << str << ",";
  16. }
  17. out << "\n";
  18.  
  19. vec.clear();
  20. vec << "0" << "1" << "2" << "3"; // vec = (0, 1, 2, 3)
  21. vec.remove(1,2); // vec = (0, 3)
  22. foreach(QString str, vec) {
  23. out << str << ",";
  24. }
  25. out << "\n";
  26.  
  27. return 0;
  28.  
}

出力
2,
0,3,
最終更新:2011年09月24日 04:58
ツールボックス

下から選んでください:

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