namespace cpp {}

C++ lernen, kennen, anwenden

Benutzer-Werkzeuge

Webseiten-Werkzeuge


kennen:beispiel:auto
no way to compare when less than two revisions

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.


kennen:beispiel:auto [2019-01-13 17:03] (aktuell) – angelegt - Externe Bearbeitung 127.0.0.1
Zeile 1: Zeile 1:
 +====== auto ======
 +> // Ein Dialog unter Zahlen: //
 +> // ** i: ** Be rational! //
 +> // ** pi: ** Get real! //
 +>>  --- N.N.
 +
 +Das vorher entbehrliche, aber reservierte Schlüsselwort [[kennen:keywords#auto]] erhält seit [[kennen:begriffe#C++11]] neue Bedeutung.
 +Der Typ von Variablen ist aus dem zugewiesenen Wert herleitbar.
 +Lange Namen wie von Container-Iteratortypen 
 +(siehe [[kennen:beispiel:range_based_for]]) und [[..:include:functional|Funktoren]]
 +müssen  nicht mehr ausgeschrieben werden.
 +Einige Programmierer empfehlen diesen Stil als 
 +[[https://herbsutter.com/2013/08/12/gotw-94-solution-aaa-style-almost-always-auto/|AAA]] (almost always auto).
 +<code cpp>
 +  auto i  = std::complex<double>{0., 1.};
 +  auto pi = 3.2;  // double; Wert vorgeschlagen von Indiana Pi Bill 1897
 +</code>
 + 
 +[[kennen:lambda|Lambda-Ausdrücke]] besitzen einen vom Compiler erzeugten Typ, der nur mit ''auto'' benannt werden kann.
 +[[kennen:lambda#Generische Lambda-Ausdrücke]] (ab [[kennen:begriffe#C++14]]) enthalten ''auto''-Parameter.
 +In [[kennen:begriffe#C++20]] werden Funktionen mit ''auto''-Parametern zu [[kennen:Schablonen]], 
 +ohne dass ''template <...>'' davor geschrieben werden muss:
 +<code cpp>
 +#include <iostream>
 +
 +void f(auto x) { std::cout << x; }
 +
 +int main()
 +{
 +   f(42);
 +   f(" is the answer"); 
 +}
 +</code>
 +
  
kennen/beispiel/auto.txt · Zuletzt geändert: 2019-01-13 17:03 von 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki