Как мне объявить функцию, которая получает ряд 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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