void resize(std::size_t sz, T c = T());
概要
要素数を変更する。
効果
sz < size()
の場合、要素数をsz
に減少させる。
sz > size()
の場合、要素数をsz
に増加させる。
要素数を減少または増加させた後、全ての要素をパラメータc
のコピーに設定する。
戻り値
なし
備考
この関数が呼び出されることで、イテレータおよび要素への参照が無効になる可能性がある。
例
#include <iostream>
#include <valarray>
int main()
{
std::valarray<int> va = {1, 2, 3};
// 要素数を3から2に減少させる
va.resize(2);
for (int x : va) {
std::cout << x << ", ";
}
std::cout << std::endl;
// 要素数を5に増加させる。値8で埋める
va.resize(5, 8);
for (int x : va) {
std::cout << x << ", ";
}
std::cout << std::endl;
}
出力
0, 0,
8, 8, 8, 8, 8,