std::hive<T,Allocator>::assign
De fr.cppreference.net
void assign( size_type count, const T& value );
|
(1) | (depuis C++26) |
template< class InputIt >
void assign( InputIt first, InputIt last );
|
(2) | (depuis C++26) |
void assign( std::initializer_list<T> ilist );
|
(3) | (depuis C++11) |
Remplace le contenu du conteneur.
1) Remplace le contenu par
count copies de la valeur value.2) Remplace le contenu par des copies de celles dans l'intervalle
[first, last). Si l'un des arguments est un itérateur dans
*this, le comportement est indéfini.
Cette surcharge ne participe à la résolution de surcharge que si InputIt satisfait LegacyInputIterator.3) Remplace le contenu par les éléments de
ilist.
Paramètres
| count | - | la nouvelle taille du conteneur |
| value | - | la valeur avec laquelle initialiser les éléments du conteneur |
| first, last | - | la paire d'itérateurs définissant l'intervalle source des éléments à copier |
| ilist | - | std::initializer_list depuis laquelle copier les valeurs |
Complexité
1) Linéaire en
count.2) Linéaire en distance entre
first et last.3) Linéaire en
ilist.size().Exemple
Le code suivant utilise assign pour ajouter plusieurs caractères à un std::hive<char> :
Exécuter ce code
#include <hive>
#include <iostream>
#include <string>
int main()
{
std::hive<char> characters;
auto print_hive = [&]()
{
for (char c : characters)
std::cout << c << ' ';
std::cout << '\n';
};
characters.assign(5, 'a');
print_hive();
const std::string extra(6, 'b');
characters.assign(extra.begin(), extra.end());
print_hive();
characters.assign({'C', '+', '+', '2', '6'});
print_hive();
}
Sortie :
a a a a a
b b b b b b
C + + 2 6
Voir aussi
| assigne un intervalle de valeurs au conteneur (fonction membre publique) | |
| assigne des valeurs au conteneur (fonction membre publique) |