C++ Grundlegende Syntax

Ein C++-Programm kann als eine Sammlung von Objekten definiert werden, die interagieren, indem sie gegenseitig ihre Methoden aufrufen. Nun wollen wir kurz betrachten, was Klassen, Objekte, Methoden und Instanzvariablen sind.

  • Objekt -Objekte haben Zustand und Verhalten. Zum Beispiel: Der Zustand eines Hundes - Farbe, Name, Rasse; Verhalten - Schwanzwedeln, Bellen, Fressen. Ein Objekt ist eine Instanz einer Klasse.
  • Klasse -Eine Klasse kann als Vorlage/Bauplan definiert werden, die das Verhalten/den Zustand eines Objekts beschreibt.
  • Methode -Grundsätzlich repräsentiert eine Methode ein Verhalten. Eine Klasse kann mehrere Methoden enthalten. Sie können Logik schreiben, Daten manipulieren und alle Aktionen in Methoden ausführen.
  • Instanzvariable -Jedes Objekt hat seine eigenen eindeutigen Instanzvariablen. Der Zustand eines Objekts wird durch die Werte dieser Instanzvariablen erzeugt.

C++-Programmstruktur

Schauen wir uns ein einfaches Stück Code an, das das WortHello World ausgeben kann。

Beispiel

#include <iostream> using namespace std; // main() ist, wo die Programmausführung beginnt int main() { cout << "Hello World"; // Hello World ausgeben return 0; }

Als Nächstes erklären wir das obige Programm:

  • Die C++-Sprache definiert einige Header-Dateien, die Informationen enthalten, die im Programm notwendig oder nützlich sind. Im obigen Programm ist die Header-Datei enthalten<iostream>。
  • Nächste Zeileusing namespace std;Teilen Sie dem Compiler mit, den std-Namensraum zu verwenden. Der Namensraum ist ein relativ neues Konzept in C++.
  • Nächste Zeile// main() is where the program starts executingIst ein einzeiliger Kommentar. Ein einzeiliger Kommentar beginnt mit // und endet am Ende der Zeile.
  • Nächste Zeileint main()Ist die Hauptfunktion, von der aus das Programm mit der Ausführung beginnt.
  • Nächste Zeilecout << "Hello World";Zeigt die Meldung "Hello World" auf dem Bildschirm an.
  • Nächste Zeilereturn 0;Beendet die main()-Funktion und gibt den Wert 0 an den aufrufenden Prozess zurück.

C++-Programm kompilieren und ausführen

Als Nächstes schauen wir uns an, wie man den Quellcode in einer Datei speichert und wie man ihn kompiliert und ausführt. Hier sind die einfachen Schritte:

  • Öffnen Sie einen Texteditor und fügen Sie den obigen Code hinzu.
  • Speichern Sie die Datei als hello.cpp.
  • Öffnen Sie eine Eingabeaufforderung und wechseln Sie in das Verzeichnis, in dem die Datei gespeichert ist.
  • Geben Sie 'g++ hello.cpp' ein, drücken Sie die Eingabetaste und kompilieren Sie den Code. Wenn keine Fehler im Code vorhanden sind, springt die Eingabeaufforderung zur nächsten Zeile und erzeugt die ausführbare Datei a.out.
  • Geben Sie nun ' a.out' ein, um das Programm auszuführen.
  • Sie können sehen, dass 'Hello World' auf dem Bildschirm angezeigt wird.
$ g++ hello.cpp
$ ./a.out
Hello World

Bitte stellen Sie sicher, dass der g++-Compiler in Ihrem Pfad enthalten ist, und stellen Sie sicher, dass Sie ihn in dem Verzeichnis ausführen, das die Quelldatei hello.cpp enthält.

Sie können auch ein Makefile verwenden, um C/C++-Programme zu kompilieren.

Semikolons & Anweisungsblöcke in C++

In C++ ist ein Semikolon ein Anweisungsabschluss. Das heißt, jede Anweisung muss mit einem Semikolon enden. Es kennzeichnet das Ende einer logischen Einheit.

Zum Beispiel sind die folgenden drei verschiedene Anweisungen:

x = y; y = y+1; hinzufügen(x, y);

Ein Anweisungsblock ist eine Gruppe logisch zusammenhängender Anweisungen, die in geschweifte Klammern eingeschlossen sind. Zum Beispiel:

{ cout << "Hello World"; // Gibt Hello World aus return 0; }

C++ verwendet nicht das Zeilenende als Abschluss, sodass Sie mehrere Anweisungen in einer Zeile platzieren können. Zum Beispiel:

x = y; y = y+1; hinzufügen(x, y);

Äquivalent zu

x = y; y = y+1; hinzufügen(x, y);

C++-Bezeichner

Ein C++-Bezeichner ist ein Name, der verwendet wird, um eine Variable, eine Funktion, eine Klasse, ein Modul oder ein anderes benutzerdefiniertes Element zu identifizieren. Ein Bezeichner beginnt mit einem Buchstaben A-Z oder a-z oder einem Unterstrich _, gefolgt von null oder mehr Buchstaben, Unterstrichen und Ziffern (0-9).

Satzzeichen wie @, & und % sind in C++-Bezeichnern nicht erlaubt. C++ ist eine Programmiersprache, bei der Groß- und Kleinschreibung unterschieden wird. Daher sind in C++Manpowerundmanpowerzwei verschiedene Bezeichner.

Im Folgenden sind mehrere gültige Bezeichner aufgeführt:

mohd       zara    abc   move_name  a_123
myname50   _temp   j     a23b9      retVal

C++-Schlüsselwörter

Die folgende Tabelle listet die reservierten Wörter in C++ auf. Diese reservierten Wörter dürfen nicht als Konstantennamen, Variablennamen oder andere Bezeichnernamen verwendet werden.

asmelsenewthis
autoenumoperatorthrow
boolexplicitprivatewahr
breakexportprotectedtry
caseexternpublictypedef
catchfalseRegistertypeid
charfloatreinterpret_casttypename
classforreturnVereinigung
constfriendshortunsigned
const_castgotosignedusing
continueifsizeofvirtual
defaultinlinestaticvoid
Löschenintstatic_castvolatile
dolongstructwchar_t
doublemutableswitchwhile
dynamic_castnamespacetemplate 

Eine vollständige Einführung in Schlüsselwörter finden Sie unter:Vollständige Einführung in C++-Schlüsselwörter (reservierte Wörter)


Trigraphen

Ein Trigraph ist eine Sequenz aus drei Zeichen, die verwendet wird, um ein anderes Zeichen darzustellen, auch Trigraph-Sequenz genannt. Eine Trigraph-Sequenz beginnt immer mit zwei Fragezeichen.

Trigraph-Sequenzen sind nicht sehr verbreitet, aber der C++-Standard erlaubt es, bestimmte Zeichen als Trigraph-Sequenzen anzugeben. In der Vergangenheit war dies eine wesentliche Methode, um Zeichen darzustellen, die auf der Tastatur nicht verfügbar waren.

Trigraph-Sequenzen können überall auftreten, einschließlich Zeichenketten, Zeichenfolgen, Kommentaren und Präprozessor-Direktiven.

Die am häufigsten verwendeten Trigraph-Sequenzen sind unten aufgeführt:

Trigraphenersetzen
??=#
??/\
??'^
??([
??)]
??!|
??<{
??>}
??-~

Wenn Sie zwei aufeinanderfolgende Fragezeichen im Quellprogramm wünschen und nicht möchten, dass sie vom Präprozessor ersetzt werden, tritt diese Situation bei Zeichenkonstanten, String-Literalen oder Programmkommentaren auf. Eine Alternative ist die Verwendung automatischer String-Verkettung: "...?""?..." oder einer Escape-Sequenz: "...?\?...".

Ab Microsoft Visual C++ 2010 ersetzt der Compiler Trigraphen standardmäßig nicht mehr. Wenn Sie die Trigraph-Ersetzung verwenden müssen (z. B. um mit altem Softwarecode kompatibel zu sein), müssen Sie die Compiler-Befehlszeilenoption /Zc:trigraphs festlegen.

g++ unterstützt Trigraphen standardmäßig weiterhin, gibt aber eine Kompilierungswarnung aus.

Leerzeichen in C++

Eine Zeile, die nur Leerzeichen enthält, möglicherweise mit einem Kommentar, wird als Leerzeile bezeichnet; der C++-Compiler ignoriert sie vollständig.

In C++ wird Whitespace verwendet, um Leerzeichen, Tabulatoren, Zeilenumbrüche und Kommentare zu beschreiben. Whitespace trennt die Bestandteile einer Anweisung, sodass der Compiler erkennen kann, wo ein Element in einer Anweisung (wie int) endet und wo das nächste Element beginnt. Daher in der folgenden Anweisung:

int age;

Hier muss mindestens ein Leerzeichen (normalerweise ein Whitespace) zwischen int und age stehen, damit der Compiler sie unterscheiden kann. Andererseits in der folgenden Anweisung:

fruit = apples + oranges;   // 获取水果的总数

Die Leerzeichen zwischen fruit und = oder zwischen = und apples sind nicht erforderlich, aber zur besseren Lesbarkeit können Sie nach Bedarf einige Leerzeichen hinzufügen.

Weitere Erweiterungen