QVector > insert

QVectorの特定位置に挿入

解説

insert()はQVectorの任意の位置に新たな要素を挿入します.

定義は以下の通りです.
void QVector::insert ( int i, const T & value )
void QVector::insert ( int i, int count, const T & value )
引数iには挿入位置を指定します.引数countはいくつ挿入するかを指定します.引数valueは挿入する値を指定します.

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

使用例

  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 << "0" << "1" << "2" << "3"; // vec = (0, 1, 2, 3)
  10. vec.insert(2, "X"); // vec = (0, 1, X, 2, 3);
  11. foreach(QString str, vec) {
  12. out << str << ",";
  13. }
  14. out << "\n";
  15.  
  16. vec.clear();
  17. vec << "0" << "1" << "2" << "3"; // vec = (0, 1, 2, 3)
  18. vec.insert(2, 2, "X"); // vec = (0, 1, X, 2, 3);
  19. foreach(QString str, vec) {
  20. out << str << ",";
  21. }
  22. out << "\n";
  23. return 0;
  24. }

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

下から選んでください:

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