Как мне объявить функцию, которая получает ряд INTC++

Программы на C++. Форум разработчиков
Anonymous
Как мне объявить функцию, которая получает ряд INT

Сообщение Anonymous »

Я хочу передать std :: ranges :: view функции, которая является реализацией интерфейса, без создания нового вектора и выделяя больше памяти. < /p>

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

virtual void doSomethingWithInts(std::ranges::input_range auto intsView) = 0;

Вот более подробный пример:
#include
#include
class IGetRange{
virtual void doSomethingWithInts(std::ranges::input_range auto intsView) = 0;
};

class IGetRangeImpl{
void doSomethingWithInts(std::ranges::input_range auto intsView) {
std::ranges::copy(intsView, std::cout);
}
};

class Caller {
std::vectordoSomethingWithInts(passView);

}
};
< /code>
Но это виртуально и не принимает шаблоны < /p>
Я не хочу передавать новый вектор, потому что он распределяет больше места, < Br /> либо пролет не является вариантом, потому что мне придется распределить его.
Я хочу иметь возможность передать только диапазон с данным типом .. < /p>

Подробнее здесь: https://stackoverflow.com/questions/794 ... ge-of-ints

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