void resize(size_type sz); // (1) C++11
constexpr void resize(size_type sz); // (1) C++20
void resize(size_type sz, const T& c); // (2) C++11
constexpr void resize(size_type sz, const T& c); // (2) C++20
void resize(size_type sz, T c = T()); // (1) + (2) C++03
要件
要素数を変更する
要件
-
(1) :
- 型
T
がデフォルト構築可能であること (C++14) - 型
T
が*this
に対してコピー挿入可能であること (C++11まで) - 型
T
が*this
に対してムーブ挿入可能であること (C++14)
- 型
-
(2) :
- 型
T
が*this
に対してコピー挿入可能であること (C++14)
- 型
効果
-
(1) :
-
(2) :
戻り値
なし
備考
- (2) : コピー挿入可能でない型
T
のムーブコンストラクタによる例外を除き、例外が送出された場合この関数は何もしない。
例
#include <iostream>
#include <vector>
#include <algorithm>
int main()
{
// 増加
{
std::vector<int> v = {3, 1, 4};
v.resize(5);
std::for_each(v.begin(), v.end(), [](int x) { std::cout << x << std::endl; });
}
std::cout << std::endl;
// 減少
{
std::vector<int> v = {3, 1, 4};
v.resize(1);
std::for_each(v.begin(), v.end(), [](int x) { std::cout << x << std::endl; });
}
}
出力
3
1
4
0
0
3