std :: generate в C ++

Опубликовано: 31 Декабря, 2021

std :: generate , как следует из названия, представляет собой алгоритм STL, который используется для генерации чисел на основе функции генератора, а затем присваивает эти значения элементам в контейнере в диапазоне [first, last).

Функция генератора должна быть определена пользователем, и она вызывается последовательно для присвоения номеров.

Функция шаблона:

void generate (ForwardIterator first, ForwardIterator last, Generator gen);

first: итератор вперед, указывающий на первый элемент контейнера.
last: итератор вперед, указывающий на последний элемент контейнера.
gen: функция генератора, на основе которой будут присвоены значения.

Возврат: нет
Поскольку он имеет тип возвращаемого значения void, поэтому он не возвращает никакого значения.
// C++ program to demonstrate the use of std::generate
#include <iostream>
#include <vector>
#include <algorithm>
// Defining the generator function
int gen()
{
static int i = 0;
return ++i;
}
using namespace std;
int main()
{
int i;
// Declaring a vector of size 10
vector< int > v1(10);
// using std::generate
std::generate(v1.begin(), v1.end(), gen);
vector< int >::iterator i1;
for (i1 = v1.begin(); i1 != v1.end(); ++i1) {
cout << *i1 << " " ;
}
return 0;
}

Выход:

1 2 3 4 5 6 7 8 9 10

Далее: std :: generate_n в C ++

Эта статья предоставлена Мригендрой Сингхом . Если вам нравится GeeksforGeeks, и вы хотели бы внести свой вклад, вы также можете написать статью с помощью provide.geeksforgeeks.org или отправить ее по электронной почте на deposit@geeksforgeeks.org. Посмотрите, как ваша статья появляется на главной странице GeeksforGeeks, и помогите другим гикам.

Пожалуйста, напишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по теме, обсужденной выше.

Хотите узнать о лучших видео и практических задачах, ознакомьтесь с базовым курсом C ++ для базового и продвинутого уровня C ++ и курсом C ++ STL для базового уровня плюс STL. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .
C++