std::fill
Материал из cppreference.com
Определено в заголовочном файле <algorithm>
|
||
template< class ForwardIt, class T > void fill( ForwardIt first, ForwardIt last, const T& value ); |
||
Присваивает заданное значение value всем элементам диапазона [
first,
last)
.
Содержание |
[править] Параметры
[ first, last)
|
— | два итератора задающих диапазон элементов для изменения |
value | — | присваиваемое значение |
Требования к типам | ||
-ForwardIt должен соответствовать требованиям ForwardIterator .
|
[править] Возвращаемое значение
(Нет)
[править] Сложность
Ровно last - first
присваиваний.
[править] Возможная реализация
template< class ForwardIt, class T > void fill(ForwardIt first, ForwardIt last, const T& value) { for (; first != last; ++first) { *first = value; } } |
[править] Пример
Следующий код использует fill()
, чтобы присвоить всем элементам вектора целых чисел значение -1:
Запустить этот код
#include <algorithm> #include <vector> #include <iostream> int main() { int data[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 } std::vector<int> v1(data, data+10); std::fill(v1.begin(), v1.end(), -1); for (vector<int>::iterator it = v1.begin(); it != v1.end(); ++it) { std::cout << *it << " "; } std::cout << "\n"; }
Вывод:
-1 -1 -1 -1 -1 -1 -1 -1 -1 -1
[править] См. также
присваивает значение определённому количеству элементов (шаблон функции) | |
присваивает результаты последовательных вызовов функции каждому элементу в диапазоне (шаблон функции) | |
применяет функцию к диапазону элементов, сохраняя результаты в целевом диапазоне (шаблон функции) |