QVector > at

QVectorの任意の位置の要素を参照

解説

at(),value(),[]はQVectorの任意の要素を取得します.
[]は要素の取得に加え,上書きも行うことができます(at()とreplace()の機能を兼ね揃えています).

定義は以下の通りです.
const T & QVector::at ( int i ) const
T QVector::value ( int i ) const
T QVector::value ( int i, const T & defaultValue ) const
T & QVector::operator[] ( int i )
const T & QVector::operator[] ( int i ) const
引数iには要素の位置を指定します.defaultValueはiがQVectorの有効範囲を超えていたときに返される値です.value()のみ指定できます.

[]はwrite-on-memoryが発生するため,at()に比べて処理速度が遅くなります.リードオンリーの処理の場合はat()を使用するべきです.
QVectorの最初や最後の要素が特定の値と一致するかどうかはat()を用いなくても,startsWithendsWithで確認することができます.

使用例

  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(5); // vec = (,,,,,)
  10. for (int i = 0 ; i < 5; i++) {
  11. vec[i] = QString('a' + i);
  12. out << vec.at(i) << ",";
  13. }
  14. // vec = (a, b, c, d, e)
  15. out << "\n";
  16. out << vec.at(0) << "\n";
  17. out << vec.value(0) << "\n";
  18. out << vec.value(5, "x") << "\n"; // lstに5番目の値は存在しないので"x"が返される.
  19.  
  20. return 0;
  21. }

出力
a,b,c,d,e,
a
a
x
最終更新:2011年09月24日 04:59
ツールボックス

下から選んでください:

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