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.



4
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 auto&&dem …

2
Was sind einige Verwendungen von decltype (auto)?
Ackа этот вопрос есть ответы на Stapelüberlauf на русском : Конструкция decltype (auto) In c ++ 14 wird das decltype(auto)Idiom eingeführt. In der Regel wird verwendet, um autoDeklarationen die Verwendung der decltypeRegeln für den angegebenen Ausdruck zu ermöglichen . Auf der Suche nach Beispielen für die "gute" Verwendung des Idioms …

7
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 …
144 c++  types  c++11  auto 




2
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 der ->Operator einen …
127 c++  c++11  auto  decltype 

7
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 hinaus ist, …
125 c  auto  c11 

6
Lambda kehrt zurück: Ist das legal?
Betrachten Sie dieses ziemlich nutzlose Programm: #include <iostream> int main(int argc, char* argv[]) { int a = 5; auto it = [&](auto self) { return [&](auto b) { std::cout << (a + b) << std::endl; return self(self); }; }; it(it)(4)(6)(42)(77)(999); } Grundsätzlich versuchen wir, ein Lambda herzustellen, das sich selbst …

3
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), oder ähnelt er eher den Java-Generika (Typlöschung)? Codebeispiel: auto glambda …
113 c++  lambda  auto  c++14 

6
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 gibt es eine automatische? Wenn nicht, gibt es einen Hack …
113 java  c++  auto 

4
Sollte der Syntaxstil des nachfolgenden Rückgabetyps zum Standard für neue C ++ 11-Programme werden? [geschlossen]
Geschlossen . Diese Frage basiert auf Meinungen . Derzeit werden keine Antworten akzeptiert. Möchten Sie diese Frage verbessern? Aktualisieren Sie die Frage, damit sie mit Fakten und Zitaten beantwortet werden kann, indem Sie diesen Beitrag bearbeiten . Geschlossen vor 3 Jahren . Verbessere diese Frage C ++ 11 unterstützt eine …

4
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 anderen benutzerdefinierten Typ. const auto& resultNach meinem Verständnis ist dies korrekt, da das …
88 c++  auto 

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.