0
Betrachten Sie hat folgende Pseudo-Code:erkennen, ob ein Behälter Iteratortyp oder nicht
template<class Container>
int some_function(const Container& container)
{
if (container has iterator) { //
// get an element by its iterator
} else {
// do another action
}
}
So haben wir eine Funktionsvorlage, die einen Containertyp nimmt (zum Beispiel, Vektor, Liste, valarray oder etwas anderes.). Ist es möglich zu bestimmen (Laufzeit), ob ein gegebener Container einen Iteratortyp hat? Zeit kompilieren?
Wenn es ein 'STL' Behälter ist dann einen Iterator hat. In der Regel ist es jedoch flexibler/wiederverwendbar, Iteratoren als Parameter und nicht als Container zu verwenden. – Galik
Müssen Sie sowohl den Fall unterstützen, in dem Container einen Iteratortyp hat, als auch den Fall, in dem dies nicht der Fall ist? Dein Code bedeutet, dass du es tust, aber das ist nicht die Frage, die du gestellt hast. – tweej
Ja, ich möchte beide Fälle unterstützen. Meine Frage ist: Ermitteln, ob ein Container Iterator-Typ hat oder nicht, und im Code-Snippet habe ich es als Bedingung ausgedrückt. Ich denke, das ist eine Frage, die ich gestellt habe. –