Zuhause Persönliche Finanzen Ausdrücke und Deklarationen in C ++ Programmierung - Dummys

Ausdrücke und Deklarationen in C ++ Programmierung - Dummys

Inhaltsverzeichnis:

Video: C: Speicherklassen und Bibliotheken 2024

Video: C: Speicherklassen und Bibliotheken 2024
Anonim

Teil von C ++ für Dummies Cheat Sheet

Um eine Berechnung im C ++ - Programm durchzuführen, benötigen Sie einen Ausdruck. Ein Ausdruck ist eine Anweisung, die sowohl einen Wert als auch einen Typ hat. Im C ++ - Programm ist eine Deklaration eine Anweisung, die eine Variable definiert, oder es ist ein "Vorratstank" für eine Art Wert wie eine Zahl oder ein Zeichen.

Expressions

Ausdrücke haben eine der folgenden Formen:

objName // für einen einfachen Objektoperatorausdruck // für unäre Operatoren expr1 operator expr2 // für binäre Operatoren expr1? expr2: expr3 // für den ternären Operator funcName ([Argumentliste]); // für Funktionsaufrufe

Literalausdrücke

Ein Literal ist eine Form von konstantem Ausdruck. Die verschiedenen Arten von Literalen sind in der folgenden Tabelle definiert.

Beispiel Typ
1 int
1L lang int
1LL lang lang int
1. 0 doppelt
1. 0F float
'1' char
"a string" char * (automatisch mit einem Null-Zeichen abgeschlossen)
L "a string" wchar_t * > u8 "Dies ist ein UTF-8-String mit einem UTF-8-Zeichen: u2018"
char8_t * u "Dies ist ein UTF-16-String mit einem UTF-16-Zeichen: u2018"
char16_t * U "Dies ist eine UTF-32-Zeichenkette mit einem UTF-32-Zeichen:
U00002018"

char32_t *

wahr, falsch
bool 0b101
binär (C ++ 2014 Standard)
[] char [] wchar_t [] [] int float [long] double bool

Deklarationen haben eine der folgenden Formen:

[] [const] Typ var [= Ausdruck]; // Variable [] [const] Typ Array [Größe] [= {Liste}]; // array [const] Typ Objekt [(Argumentliste)]; // Objekt [const] Typ Objekt [= {Argumentliste}]; // alternative [const] Typ * [const] ptr [= Zeigerausdruck]; // Zeigertyp & RefName = Objekt; // Referenztyp fnName ([Argumentliste]); // function

Das Schlüsselwort auto kann verwendet werden, wenn C ++ den Typ der Variablen selbst bestimmen kann:

auto var = 1L; // Der Typ von var ist long int

Das Schlüsselwort decltype extrahiert den Typ eines Ausdrucks. Dieser Typ kann dann überall dort verwendet werden, wo ein Typname verwendet wird. Im folgenden Beispiel wird beispielsweise Decltype verwendet, um eine zweite Variable mit demselben Typ wie eine vorhandene Variable zu deklarieren:

decltype (var1) var2; // Der Typ von var2 ist derselbe wie var1
Eine Funktionsdefinition hat folgendes Format:

// simple function [] Typ fnName (Argumentliste) {…} // Memberfunktion definiert außerhalb der Klasse [inline] type Klasse:: func (Argumentliste) [const] {…} // Konstruktor / Destruktoren können auch außerhalb der Klasse definiert werden Klasse:: Class ([Argumentliste]) {…} Klasse:: ~ Class () {… } // constructors / destructor kann gelöscht werden oder wird zurückgesetzt // anstelle der Definition Class:: Class ([Argumentliste]) =; Klasse:: ~ Klasse () =;

Ein überladener Operator sieht wie eine Funktionsdefinition aus.Die meisten überladenen Operatoren können entweder als Member oder einfache Funktionen geschrieben werden. Wenn dies als Elementfunktion geschrieben wird, ist dies das angenommene erste Argument für den Operator:

MeineKlasse & operator + (const MyClass & m1, const MyClass & m2); // einfach MyClass & MyClass:: operator + (const MyClass & m2); // Mitglied;

Benutzer können ihre eigenen Typen auch mit den Schlüsselwörtern class oder struct definieren:

ClassName [: [virtual] [public] BaseClass] {: // Konstruktor ClassName ([Argumentliste]) ClassName () [=;] // Destruktor [virtuell] ~ Klassenname () <{…} | [=; > // Öffentliche Datenelemente geben dataMemberName [= initialValue] ein. // Öffentliche Memberfunktionen type memberFunctionName ([Argumentliste]) [{…}] // Konst-Member Funktionstyp memberFunctionName ([Argumentliste]) const [{…}] // virtueller Memberfunktionen virtueller Typ memberFunctionName ([arg list]) [{…}]; // reiner virtueller Member Funktionen virtueller Typ memberFunctionName ([arg list]) = 0; // Funktion, die einen Basisklassenfunktionstyp überschreiben muss memberFunctionName ([arg list]) override; // eine Funktion, die in einer Unterklasse nicht überschrieben werden kann memberFunctionName ([arg list]) final;};
Darüber hinaus kann ein Konstruktor mit einem einzelnen Argument als explizite Bedeutung gekennzeichnet werden, sodass er nicht in einer impliziten Konvertierung von einem Typ zu einem anderen verwendet wird. Das Markieren eines Konstruktors als Standard bedeutet "Verwenden Sie die Standard-C ++ - Konstruktordefinition". Wenn Sie einen Konstruktor als delete markieren, wird die Standard-C ++ - Konstruktordefinition entfernt.

C ++ unterstützt zwei Arten von Aufzählungstypen. Der folgende alte Aufzählungstyp erzeugt keinen neuen Typ:

enum STATE {DC, // bekommt 0 ALABAMA, // bekommt 1 ALASKA, // bekommt 2 ARKANSAS, // bekommt 3 // … und so weiter}; int n = ALASKA; // ALASKA ist vom Typ int

Standardmäßig hat ein einzelner Eintrag den Typ int, dies kann jedoch im C ++ 2011-Standard geändert werden:

enum ALPHABET: char {A = 'a', // bekommt 'a' B, // bekommt 'b' C, // bekommt 'c' // … und so weiter}; charc = A; // A ist vom Typ char

C ++ 2011 erlaubt ein zweites Format, das einen neuen Typ erzeugt:

// die folgende Enumeration definiert einen neuen Typ STATE enum class STATE {DC, // holt 0 ALABAMA, // bekommt 1 ALASKA, // bekommt 2 ARKANSAS, // bekommt 3 // … und so weiter}; STATE s = ZUSTAND:: ALASKA; // jetzt ist STATE ein neuer Typ // der folgende verwendet einen anderen zugrunde liegenden Typ enum class ALPHABET: char {A = 'a', // bekommt 'a' B, // bekommt 'b' C, // bekommt 'c ' //… und so weiter}; ALPHABET c = ALPHABET:: A; // A ist vom Typ ALPHABET

Template-Deklarationen haben ein etwas anderes Format:

// Typ T wird vom Programmierer bei der Verwendung des Vorlagentyps zur Verfügung gestellt Funktionsname ([arg list]) Vorlagenklasse ClassName {{…}};
Ausdrücke und Deklarationen in C ++ Programmierung - Dummys

Die Wahl des Herausgebers

Zum Hinzufügen von Arbeitsblättern zu Ihrer Excel 2013-Arbeitsmappe - dummies

Zum Hinzufügen von Arbeitsblättern zu Ihrer Excel 2013-Arbeitsmappe - dummies

Jede leere Arbeitsmappe, die Sie öffnen, enthält ein Einzelblatt mit dem prosaischen Namen Sheet1. Um weitere Blätter zu Ihrer Arbeitsmappe in Excel 2013 hinzuzufügen, klicken Sie einfach auf die Schaltfläche Neues Blatt in der Statusleiste (die mit Pluszeichen in einem Kreis). Jedes Arbeitsblatt, das Sie mit der Befehlsschaltfläche Neues Blatt hinzufügen, ist ...

Wie man bedingte Formatierung in Excel 2010 anwendet - dummies

Wie man bedingte Formatierung in Excel 2010 anwendet - dummies

Mit der bedingten Formatierung von excel 2010 können Sie das Aussehen von eine Zelle basierend auf ihrem Wert oder dem Wert einer anderen Zelle. Sie geben bestimmte Bedingungen an, und wenn diese Bedingungen erfüllt sind, wendet Excel die Formatierung an, die Sie auswählen. Sie können die bedingte Formatierung verwenden, um Datumsangaben zu suchen, die bestimmte Kriterien erfüllen (z. B. fallen auf ...

Die Wahl des Herausgebers

ASVAB Vorbereitung: Wie man Brüche multipliziert und dividiert - Dummies

ASVAB Vorbereitung: Wie man Brüche multipliziert und dividiert - Dummies

Es wird erwartet, dass festes Verständnis des mathematischen Grundwissens, wenn Sie das ASVAB nehmen. Multiplizieren und Dividieren von Brüchen sind zwei der Dinge, die Sie wissen müssen. Fraktionen multiplizieren Fraktionen multiplizieren ist sehr einfach. Alles, was Sie tun müssen, ist, die Zähler untereinander zu multiplizieren und die Nenner mit ... zu multiplizieren.

ASVAB-Praxis: Beispiel-Fragen zu Word-Kenntnissen - Dummies

ASVAB-Praxis: Beispiel-Fragen zu Word-Kenntnissen - Dummies

Sie müssen für die Word-Wissensprobleme bereit sein auf dem ASVAB. Das Format, das Sie unten sehen, ist ein gutes Beispiel dafür, was Sie finden werden, wenn Sie das ASVAB benutzen. Beispielfragen Wortwissenszeit: 11 Minuten für 35 Fragen Anleitung: Der Wortwissensubtest ist der dritte Untertest ...

ASVAB: Paragraph Comprehension Subtest Beispiel Testfragen - Dummies

ASVAB: Paragraph Comprehension Subtest Beispiel Testfragen - Dummies

Zeit für Sie, all Ihre ASVAB Vorbereitung zur guten Verwendung. Fragen Sie sich anhand der folgenden Beispieltestfragen, ob Ihr Leseverständnis auf dem neuesten Stand ist. Lesen Sie jeden kurzen Absatz, dem eine oder mehrere Fragen zu den in dieser Passage enthaltenen Informationen folgen. Achten Sie darauf, den Absatz sorgfältig zu lesen ...

Die Wahl des Herausgebers

Zoomen und Schwenken in AutoCAD - Dummys

Zoomen und Schwenken in AutoCAD - Dummys

AutoCAD erleichtert das Schwenken, indem es Bildlaufleisten und Echtzeit-Schwenken bietet. Beim Echtzeit-Panning (im Gegensatz zum Vorgabezeit-Panning?) Können Sie Objekte auf dem Bildschirm sehen, wenn Sie die Maus nach oben und unten oder vor und zurück bewegen. Natürlich bewegt sich der Standpunkt, nicht die Objekte. Sowohl das Schwenken als auch das Zoomen ändern die Ansicht ...

Mit AutoCAD LT 2005 DesignCenter - Dummies

Mit AutoCAD LT 2005 DesignCenter - Dummies

DesignCenter ist ein dummer Name für eine nützliche, wenn auch etwas ausgelastete Palette. Die DesignCenter-Palette ist praktisch für das Extrahieren von Daten aus allen Arten von Zeichnungen. Während sich die Eigenschaftenpalette mit Objekteigenschaften beschäftigt, behandelt die DesignCenter-Palette hauptsächlich benannte Objekte: Ebenen, Linientypen, Blockdefinitionen (dh Symboldefinitionen), Textstile und andere Organisationsobjekte ...

Was Sie über AutoCAD-Koordinatensysteme wissen sollten - Dummies

Was Sie über AutoCAD-Koordinatensysteme wissen sollten - Dummies

Jeder Punkt in einer AutoCAD-Zeichnungsdatei kann identifiziert werden durch seine X-, Y-, Z-Koordinaten. (In den meisten 2D-Zeichnungen ist der Z-Koordinatenwert 0. 0.) Dieses Koordinatensystem wird in AutoCAD als Weltkoordinatensystem oder WCS bezeichnet. Koordinateneingabe Die direkteste Methode, um Punkte präzise einzugeben, ist die Eingabe von Zahlen mit dem ...