namespace cpp

C++ lernen, kennen, anwenden

Benutzer-Werkzeuge

Webseiten-Werkzeuge


kennen:beispiel:auto

auto

Ein Dialog unter Zahlen:
i: Be rational!
pi: Get real!
— N.N.

Das vorher entbehrliche, aber reservierte Schlüsselwort auto erhält seit C++11 neue Bedeutung. Der Typ von Variablen ist aus dem zugewiesenen Wert herleitbar. Lange Namen wie von Container-Iteratortypen (siehe range-based for) und Funktoren müssen nicht mehr ausgeschrieben werden. Einige Programmierer empfehlen diesen Stil als AAA (almost always auto).

  auto i  = std::complex<double>{0., 1.};
  auto pi = 3.2;  // double; Wert vorgeschlagen von Indiana Pi Bill 1897

Lambda-Ausdrücke besitzen einen vom Compiler erzeugten Typ, der nur mit auto benannt werden kann. Generische Lambda-Ausdrücke (ab C++14) enthalten auto-Parameter. In C++20 werden Funktionen mit auto-Parametern zu Schablonen, ohne dass template <…> davor geschrieben werden muss:

#include <iostream>
 
void f(auto x) { std::cout << x; }
 
int main()
{
   f(42);
   f(" is the answer"); 
}
kennen/beispiel/auto.txt · Zuletzt geändert: 2019-01-13 17:03 von rrichter