解説
fill()はQVectorの全ての要素を指定した値で初期化します.必要に応じて要素数を変更もできます.
コンストラクタを用いて,fill()と同様にQVectorを初期化することができます.
定義は以下の通りです.
QVector<T> & fill ( const T & value, int size = -1 )
QVector::QVector ( int size, const T & value )
fill()の引数Tには初期化値を指定します.引数sizeを省略,または-1に指定した場合,配列のサイズを変更せずに初期化します.sizeを-1以外にした場合,QVectorをsizeの長さに変更します.
コンストラクタのsizeはQVectorのサイズ設定します.valueには初期値を設定します.
使用例
#include <QTextCodec>
#include <QTextStream>
#include <QVector>
int main(int argc, char *argv[]) {
QTextCodec::setCodecForTr(QTextCodec::codecForLocale());
QTextStream out(stdout);
// コンストラクタによる初期化
QVector<QString> vec(3, "a"); // vec = (a, a, a)
foreach(QString str, vec) {
out << str << ",";
}
out << "\n";
// fill()による初期化
vec.fill("b"); // vec = (b, b, b)
foreach(QString str, vec) {
out << str << ",";
}
out << "\n";
// fill()による初期化
vec.fill("c", 4); // vec = (c, c, c, c)
foreach(QString str, vec) {
out << str << ",";
}
out << "\n";
return 0;
}
出力
a,a,a,
b,b,b,
c,c,c,c,
最終更新:2011年09月24日 03:40