Ich lese durch Modern C++ Design und der Gedanke kam mir auf, dass das Typlistenkonstrukt durch variadische Vorlagen ersetzt werden kann. Beide scheinen sich auf die Rekursion zu stützen, um den ersten Typ in der Liste und den Rest der Liste getrennt zu verarbeiten. Gibt es irgendwelche Typlisten, die eine variadische Vorlage nicht ermöglichen?Werden Typisten vollständig durch variadische Vorlagen ersetzt?
6
A
Antwort
8
Typelisten ermöglichen Ihnen ein paar Dinge. Zum Beispiel können Sie kein variadische Argument Pack als Ergebnis einer metafunction haben - es gibt einfach keine Möglichkeit, so etwas zu äußern:
template <typename... Args>
struct argpack_id {
typedef Args result;
};
du mit Typlisten tun.
Auf der anderen Seite, sollten Sie vielleicht die Typliste selbst als
template <typename... Args>
struct TypeList {};
implementieren
Verwandte Themen
- 1. Mehrfachvererbung und variadische Vorlagen
- 2. Variadische Vorlagen mit 'const' Parameter
- 3. Variadische Vorlagen und C-Arrays
- 4. Variadische Vorlagen für Lambda-Ausdrücke
- 5. Variadische Vorlagen in Scala emulieren
- 6. variadische Vorlagen Summenoperation links assoziativ
- 7. Variadische Vorlagen und keine Werte
- 8. Variadische Vorlagen mit Rückrufen verwenden
- 9. Explizite Template-Instantiierung mit variadische Vorlagen
- 10. C++ template - variadische Vorlagen & vorbei konstante Referenz
- 11. Funktionen als Argumente von variadische Vorlagen
- 12. Template-Template-Syntax Probleme mit variadische Vorlagen
- 13. Meta-Iteration über variadische Vorlagen Argument
- 14. Zwei variadische Vorlagen für eine einzelne Funktion?
- 15. C++ 11 Variadische Vorlagen und Std :: Endl
- 16. inkonsistente Parameter Pack Abzug mit variadische Vorlagen
- 17. zusätzlicher Speicherplatz, wenn durch Unicode ersetzt werden
- 18. TypeScript: Wie werden Importe durch Fensterobjekte ersetzt?
- 19. Sollen statische Variablen durch Enums ersetzt werden?
- 20. Konvertierungs- und Ausgabeoperator für Variantentypen und variadische Vorlagen
- 21. Javascript url.location & ersetzt durch?
- 22. mehrere ersetzt durch Javascript
- 23. C++ variadische Vorlagen zur Kaskadenvererbung. Wie man upcast?
- 24. rekursive Vererbung mit variadische Vorlagen und vererbte Parameter Probleme
- 25. Variadische Vorlagen, Parameterpaket und seine diskutierte Ambiguität in einer Parameterliste
- 26. Kann ich variadische Vorlagen in einem Lambda verwenden?
- 27. std :: Tupel mit einem vektorbasierten Datensatz variadische-Vorlagen
- 28. "-" wird durch Zeichen% 2D1 ersetzt?
- 29. Universelles Aggregat Initialisierung durch variadic Vorlagen
- 30. Wie unterdrückt man "Kann durch Foreach Call ersetzt werden" Warnung