Vorteile der auto-im-template-Parameter in C++17

Was sind die Vorteile auto im template-Parameter, die (möglicherweise) eingeführt werden, die mit C++17?

Ist es nur eine Natürliche Erweiterung von auto wenn ich will, zu instanziieren template-code?

auto v1 = constant<5>;      //v1 == 5, decltype(v1) is int
auto v2 = constant<true>;   //v2 == true, decltype(v2) is bool
auto v3 = constant<'a'>;    //v3 == 'a', decltype(v3) is char

Was sonst erhalte ich von dieser Sprache-Funktion?

  • Als zusätzliche Informationen zu erhalten Deklarieren von non-type template-Argumente mit auto
  • Hin und wieder sehe ich Fragen wie diese eine oder diese eine oder diese one auf StackOverflow. template < auto > machen diese askers glücklich.
  • Ich dachte die Haupt-lichtet wurde std::vector<auto> v{1,2,3,4,5}; und schwierige Dinge wie callable Typen als template-Argumente (esp lambdas).
  • Nein, das ist nicht das, was es tut. Die auto geht auf die definition, nicht der Zeitpunkt der Nutzung.
  • das ist eine separate Funktion, die Teil der Konzepte TS, aber nicht in C++17. Die p0127 Verwendung von auto nicht in Konflikt mit ihm, obwohl.
InformationsquelleAutor Damian | 2016-06-25
Schreibe einen Kommentar