Как реализовать функцию foreach внутри класса на C++, который принимает другие функции-члены в качестве параметров?C++

Программы на C++. Форум разработчиков
Anonymous
Как реализовать функцию foreach внутри класса на C++, который принимает другие функции-члены в качестве параметров?

Сообщение Anonymous »

Предположим, у нас есть класс, содержащий вектор. В этом классе также есть некоторые функции-члены, которые манипулируют заданными и индексируемыми элементами этого вектора, например, так:

Код: Выделить всё

class Foo
{
std::vector v{ 1, 2, 3, 4 };

void a(int i){ v[i]++; }
void b(int i){ v[i]--; }
}
Теперь мне регулярно приходится вызывать эти функции для каждого элемента, поэтому я реализую еще одну функцию-член, использующую цикл for. Может быть так:

Код: Выделить всё

/* inside Foo */
void for_each_a()
{
for (int i{0}; i

Подробнее здесь: [url]https://stackoverflow.com/questions/79268220/how-to-implement-a-foreach-function-inside-a-class-in-c-that-takes-other-mem[/url]

Вернуться в «C++»