2016-07-11 24 views

Antwort

5

Syntaktisch ist das Parameter-Pack Teil einer variadischen Vorlage. Zum Beispiel

template<class ... Types> struct Tuple {}; 

ist eine variadische Strukturvorlage und Types ist ein Parameter Pack drin. Tuple selbst ist kein Parameterpaket.

Sie können einen beliebigen Satz von Typparametern an Tuple übergeben, und sie werden zu Types Pack gepackt. Zum Beispiel im Code

Tuple<int, float, std::string> foo; 

wir instanziiert eine Tuple Vorlage mit int, float und string Typen und bekam eine Struktur tatsächlichen Typ Tuple<int, float, std::string>. Der Code Tuple darf jetzt expandTypes pack.