Предположим, у нас есть класс, содержащий вектор. В этом классе также есть некоторые функции-члены, которые манипулируют заданными и индексируемыми элементами этого вектора, например, так:
Код: Выделить всё
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]