QVector > prepend

QVectorの先頭・末尾に挿入

解説

prepend(),push_front()は引数で指定した値をQVectorの先頭に追加します.prepend()とpush_front()の処理内容は同じです.
append(),<<,push_back() は引数で指定した値をQVectorの末尾に追加します.append()とpush_back()と<<の処理内容は同じです.

定義は以下の通りです.
void QVector::prepend ( const T & value )
void QVector::append ( const T & value )
QVector<T> & QVector::operator<< ( const T & value )
void QVector::push_front ( const T & value )
void QVector::push_back ( const T & value )
引数valueには挿入する値を指定します.

QVectorの各要素はメモリ上に連続して配置され,またQVectorはコンストラクタで生成した際に,要素を格納するためにメモリを多めに確保します.そのため通常,末尾への挿入はメモリーの再配置を行うことなく行うことができます.一方,先頭への挿入は,すでに存在する各要素を後ろにずらす必要があるため,時間がかかります.
push_front(),push_back()はSTLに対する上位互換のために用意されています.

使用例

  1. #include <QTextCodec>
  2. #include <QTextStream>
  3. #include <QVector>
  4. int main(int argc, char *argv[]) {
  5. QTextCodec::setCodecForTr(QTextCodec::codecForLocale());
  6. QTextStream out(stdout);
  7.  
  8. QVector<QString> vec;
  9. vec.prepend("0"); // vec = ("0")
  10. vec.prepend("1"); // vec = ("1", "0")
  11. vec.append("a"); // vec = ("1", "0", "a")
  12. vec.append("b"); // vec = ("1", "0", "a", "b")
  13. vec << "!"; // vec = ("1", "0", "1", "b", "!")
  14. vec << "@"; // vec = ("1", "0", "1", "b", "!", "@")
  15. foreach(QString str, vec) {
  16. out << str << ",";
  17. }
  18. out << "\n";
  19. return 0;
  20. }

出力
1,0,a,b,!,@,
最終更新:2011年09月24日 04:19
ツールボックス

下から選んでください:

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