void assign(size_type n, const T& t); // (1) C++26
template <class InputIterator>
void assign(InputIterator first, InputIterator last); // (2) C++26
void assign(initializer_list<T> il); // (3) C++26
概要
コンテナに値を代入する。
- (1) :
n個の値tのコピーを代入する。 - (2) : イテレータ範囲
[first, last)を代入する。 - (3) : 初期化子リストを代入する。
効果
現在保持している要素を全て破棄し、指定された要素を代入する。それぞれ以下と等価である。
- (1) :
- (2) :
- (3) :
戻り値
なし
例
#include <hive>
#include <iterator>
#include <print>
int main()
{
std::hive<int> h;
// n個の値を代入する
h.assign(3, 1);
std::println("size = {}", h.size());
// イテレータ範囲を代入する
int a[] = {1, 2, 3, 4};
h.assign(std::begin(a), std::end(a));
std::println("size = {}", h.size());
// 初期化子リストを代入する
h.assign({1, 2});
std::println("size = {}", h.size());
}
出力
size = 3
size = 4
size = 2
バージョン
言語
- C++26
処理系
- Clang: 22 ❌
- GCC: 16.1 ❌
- Visual C++: 2026 Update 2 ❌