Als «auto» getaggte Fragen

Das Schlüsselwort "auto" wurde in C ++ 11 für einen abgeleiteten Typ neu verwendet. Beim Ersetzen eines Typnamens in einer initialisierten Variablendeklaration erhält die Variable denselben Typ wie der Initialisierer. Bei Verwendung als Rückgabetyp wird der Rückgabetyp als nachfolgender Rückgabetyp angegeben oder aus dem Rückgabeausdruck abgeleitet.

168
Was sagt uns auto &&?

Wenn Sie Code wie lesen auto&& var = foo(); Wo foogibt eine Funktion nach Wert des Typs zurück T. Dann varist ein lWert vom Typ rWertreferenz auf T. Aber wofür bedeutet das var? Heißt das, wir dürfen die Ressourcen von stehlen var? Gibt es vernünftige Situationen, in denen Sie...

144
C ++ Auto-Schlüsselwort. Warum ist es Magie?

Von all dem Material, das ich zum Erlernen von C ++ verwendet habe, autowar es immer ein seltsamer Spezifizierer für die Speicherdauer, der keinen Zweck erfüllt hat. Aber erst kürzlich bin ich auf Code gestoßen, der ihn als Typnamen an und für sich verwendet hat. Aus Neugier habe ich es versucht...

127
Pfeiloperator (->) in der Funktionsüberschrift

Ich bin auf folgenden Code gestoßen: template <typename T, typename T1> auto compose(T a, T1 b) -> decltype(a + b) { return a+b; } Eines kann ich nicht verstehen: Wo kann ich herausfinden, was der Pfeiloperator ( ->) in der Funktionsüberschrift bedeutet? Ich denke rein logisch, dass...

125
Warum ist auto a = 1; in C kompilieren?

Der Code: int main(void) { auto a=1; return 0; } wird vom MS Visual Studio 2012-Compiler fehlerfrei kompiliert, wenn die Datei die Erweiterung .c hat. Ich habe immer gedacht, dass bei Verwendung der Erweiterung .c die Kompilierung nach der C-Syntax und nicht nach C ++ erfolgen sollte. Darüber...

113
Wie funktioniert generisches Lambda in C ++ 14?

Wie funktioniert generisches Lambda ( autoSchlüsselwort als Argumenttyp) im C ++ 14-Standard? Basiert es auf C ++ - Vorlagen, bei denen der Compiler für jeden unterschiedlichen Argumenttyp eine neue Funktion mit demselben Text generiert, aber Typen ersetzt (Polymorphismus zur Kompilierungszeit),...

113
Gibt es in Java automatische Typableitungen?

Gibt es autoin Java einen Variablentyp wie in C ++? Ein Beispiel: for ( auto var : object_array) std::cout << var << std::endl; for( auto var : object_array) var.do_something_that_only_this_particular_obj_can_do(); Ich weiß, dass es in Java eine erweiterte for-Schleife gibt, aber...

88
C ++ auto & vs auto

Ist es richtig, beim Erstellen lokaler Variablen (const) auto&oder zu verwenden auto? z.B: SomeClass object; const auto result = object.SomeMethod(); oder const auto& result = object.SomeMethod(); Wobei SomeMethod () einen nicht primitiven Wert zurückgibt - möglicherweise einen...

80
Warum muss ich das Schlüsselwort 'auto' explizit schreiben?

Ich wechsle von C ++ 98 zu C ++ 11 und habe mich mit dem autoSchlüsselwort vertraut gemacht . Ich habe mich gefragt, warum wir explizit deklarieren müssen, autoob der Compiler den Typ automatisch ableiten kann. Ich weiß, dass C ++ eine stark typisierte Sprache ist und dies eine Regel ist. War es...