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"); }