Unterschiede zwischen C # "var" und C ++ "auto"

8

Ich lerne C ++ jetzt, weil ich einige Low-Level-Programme schreiben muss.

Als ich vom Schlüsselwort "auto" erfuhr, erinnert es mich an das Stichwort "var" aus C #.

Also, was sind die Unterschiede zwischen C # "var" und C ++ "auto"? Es sieht genauso aus wie ihre Funktion ...

* nicht ganz, aber ich habe verstanden! Danke für die kommentierten, beantwortet alle!

* Ich habe meinen Kommentar aus der Antwort gelöscht, weil ich die Nachricht "vermeide Nachricht, Danke! '" gesehen habe.

* Ich habe viele Informationen ... vielen Dank!

    
P.Knowledge 24.11.2016, 08:40
quelle

3 Antworten

11

In C # arbeitet das Schlüsselwort var nur lokal innerhalb der Funktion:

%Vor%

In C ++ Auto-Schlüsselwort kann vom Typ abgeleitet werden nicht nur in Variablen, sondern auch in Funktionen und Vorlagen:

%Vor%

Aus der Sicht der Leistung wirkt sich auto keyword in C ++ nicht auf die Leistung aus . Und das var-Schlüsselwort wirkt sich auch nicht auf die Leistung aus .

Ein weiterer Unterschied kann in der Intellisense-Unterstützung in der IDE bestehen. Var Schlüsselwort in C # kann leicht abgeleitet werden und Sie werden den Typ mit der Maus über sehen. Mit Auto-Schlüsselwort in C ++ könnte es komplizierter sein, es hängt von der IDE ab.

    
qub1n 24.11.2016, 09:06
quelle
6

Sie sind gleichwertig. Sie erlauben es Ihnen, den Typ einer Variablen nicht selbst anzugeben, aber die Variable bleibt stark typisiert. Die folgenden Zeilen sind in c # äquivalent:

%Vor%

Und die folgenden Zeilen sind in C ++ äquivalent:

%Vor%

Allerdings sollten Sie daran denken, dass in c ++ der korrekte Typ einer auto -Variable anhand der Regeln der Vorlageargumentableitung für einen Funktionsaufruf ermittelt wird.

    
SingerOfTheFall 24.11.2016 08:43
quelle
4

Um es einfach zu sagen: auto ist eine viel kompliziertere Bestie als var .

Erstens darf auto nur Teil des abgeleiteten Typs sein; zum Beispiel:

%Vor%

Zweitens kann auto verwendet werden, um mehrere Objekte gleichzeitig zu deklarieren:

%Vor%

Drittens wird auto als Teil der Syntax des abschließenden Rückgabetyps in Funktionsdeklarationen verwendet:

%Vor%

Es kann auch für die Typableitung in Funktionsdefinitionen verwendet werden:

%Vor%

Viertens: In der Zukunft kann damit begonnen werden, Funktionsvorlagen zu deklarieren:

%Vor%     
ach 24.11.2016 13:38
quelle

Tags und Links