Нужно изнутри std
алгоритма получить текущий индекс в коллекции или итератор текущего элемента, то можно как-нибудь сделать?
Например, в std::generate_n
нужно знать какой элемент сейчас генерируется
Скажите, как при умножении двух чисел
n = a * b;
знать, какие разряды сейчас умножаются?
Я к тому, что у вас есть строка до выполнения действия и строка после. Что вы хотите узнать? "Сейчас" - выполняется то или иное действие.
Вы можете влезть в тот же generate_n
и добавить свой код, который будет получать эту текущую позицию (как - второй вопрос). Но пока это библиотечная функция, в код которой вы не лезете - что означает текущий индекс? В какой именно момент? С точки зрения вашего кода это - атомарное действие.
Если используемый алгоритм гарантирует однократность вызова функционального объекта (и отсутствие копирований оного), переданного в него, то можно получить номер итерации в коде этого функционального объекта. На примере упомянутого generate_n
:
#include <algorithm>
#include <iostream>
int main()
{
const int n = 10;
int arr[n];
std::generate_n(arr, n,
[]()
{
static int i = 0; std::cout << i++ << "\n"; return i;
});
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Доброго времени суток, Возник вопрос по поводу javascript: У меня есть конструкция
Помогите понять как работает forEach в jsБылоб хорошо наглядный пример