Alle Parameter mit Parameter-Erweiterung [duplicate] hinzufügen

7

Überlege, dass ich eine variable Vorlage mit int... Parametern habe. Zum Beispiel eine Funktion wie folgt:

%Vor%

Die Methode sollte nur alle Parameter hinzufügen. Es kann leicht mit rekursiven Variadischen Vorlagen erreicht werden. Ist es jedoch auch möglich, dies (oder etwas Ähnliches wie die Verwendung anderer binärer Operatoren zum Aggregieren aller Template-Parameter) unter Verwendung der Erweiterung des Parameterpakets auszudrücken?

    
gexicide 13.05.2014, 10:34
quelle

2 Antworten

18

Ja, mit einem Trick, den ich von @Xeo in der Lounge gelernt habe. Ich habe es ursprünglich verwendet, um eine variable "Druck" Template-Funktion zu erstellen.

%Vor%

Dies funktioniert bei jedem Compiler mit anständiger C ++ 11-Unterstützung (GCC 4.8+, Clang 3.2+, MSVS2013, ...)

    
rubenvb 13.05.2014, 11:54
quelle
6

Eine mögliche Variante, die Lambda und std::accumulate verwendet:

%Vor%     
Constructor 13.05.2014 18:28
quelle