Entschuldigung für die noob Frage. Ich war in der Vergangenheit in Java und das Buch für diesen Kurs behandelt nicht C++.... Operator in Funktion
Ich muss eine Funktion ausfüllen, um Schlüsselwörter (von Zeichenkettentyp) zu einem Item
Objekt hinzuzufügen. Der Prototyp der Funktion ist wie folgt.
void addKeywordsForItem(const Item* const item, int nKeywords, ...);
In Java ...
gibt den Rest der Argumente als String
Objekt und ich bin C++ Erraten etwas ähnliches tut, aber ich weiß nicht, der Name ...
so danach zu suchen ist ziemlich schwierig.
Was ist ...
genannt und was macht es?
dies ... ist [variadische Argumente] (http://en.cppreference.com/w/cpp/language/variadic_arguments), 'catch (...) 'bedeutet fang alle Handler, und es bedeutet auch variadic Vorlage und seine Erweiterung – Danh
Sie haben zwei miteinander in Verbindung stehende Fragen. Bitte wählen Sie einen aus. Sie können Ihre andere Frage separat veröffentlichen. – hvd
Okay, für die '...', die Antwort, die Sie bekommen haben, ist richtig, aber jetzt, wo Sie wissen, was Sie suchen, lesen Sie bitte auch, warum Sie in der Regel nicht variadic Funktionen in modernen C++ verwenden sollten insbesondere die mangelnde Typsicherheit. Wenn Sie eine Menge von Strings erhalten möchten, verwendet der grundlegende typsichere Ansatz 'void addKeywordsForItem (const Item * const item, std :: initializer_list keywords)' (zu nennen als 'addKeywordsForItem (item, {" a ", "b", "c"}) '), aber auch fortschrittlichere Ansätze, die mehr Variationen beim Aufruf der Funktion erlauben, sind ebenfalls möglich. –
hvd