std::fill
Материал из cppreference.com
<tbody>
</tbody>
| Определено в заголовочном файле <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
См. также
| присваивает значение определённому количеству элементов (шаблон функции) | |
| присваивает результаты последовательных вызовов функции каждому элементу в диапазоне (шаблон функции) | |
| применяет функцию к диапазону элементов, сохраняя результаты в целевом диапазоне (шаблон функции) |