Wie soll ich eine Funktion deklarieren, die eine Reihe von INTs erhält?
Posted: 15 Feb 2025, 10:18
Ich möchte eine std :: ranges :: anzeigen zu einer Funktion, die eine Implementierung einer Schnittstelle darstellt, ohne einen neuen Vektor zu erstellen und mehr Speicher zuzuweisen. < /p>
Hier ist ein detaillierteres Beispiel:
#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>
Aber es ist virtuell und akzeptiert keine Vorlagen < /p>
Ich möchte keinen neuen Vektor übergeben, weil er mehr Platz bereitstellt, < BR /> entweder eine Spannweite ist keine Option, da ich sie zuordnen muss.>
Code: Select all
virtual void doSomethingWithInts(std::ranges::input_range auto intsView) = 0;
Hier ist ein detaillierteres Beispiel:
#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>
Aber es ist virtuell und akzeptiert keine Vorlagen < /p>
Ich möchte keinen neuen Vektor übergeben, weil er mehr Platz bereitstellt, < BR /> entweder eine Spannweite ist keine Option, da ich sie zuordnen muss.>