Das minimale C++-Programm ist
int main() { } // the minimal C++ program
Dieses Programm stellt eine Funktionsdeklaration main, bereit, die keine Argumente akzeptiert. Geschweifte Klammern spiegeln die Gruppierung in C++ wider und zeigen in diesem Fall den Hauptteil der Hauptfunktion . Das heißt, der Anfang der Hauptfunktion ist eine öffnende geschweifte Klammer und das Ende der Hauptfunktion ist eine schließende geschweifte Klammer. Ein doppelter Schrägstrich zeigt den Beginn eines Kommentars an. Kommentare werden vom Compiler ignoriert und dienen der Verdeutlichung von Informationen im Code.
Jedes in C++ geschriebene Programm hat eine main() -Funktion, die das Programm startet. Die Funktion main(), gibt normalerweise das Ergebnis ihrer Ausführung zurück, wie durch Datentyp int (Ganzzahl - Ganzzahl) angegeben. die vor der Funktion main() geschrieben wurde. Bei ordnungsgemäßem, erfolgreichem Abschluss gibt die Funktion main() 0 als Ergebnis zurück. Ein von Null verschiedener Ergebniswert zeigt eine abnormale Beendigung des Programms an.
Der vom Programm nach Abschluss zurückgegebene Wert kann im Betriebssystem für Servicezwecke verwendet werden.
Ein typisches Beispiel für das erste Programm in einer beliebigen Programmiersprache ist die Ausgabe des Textes "Hello, World!":
#include <iostream> int main() { std::cout << "Hello, World!\n"; }
Aber ist es so einfach in diesem Programm? Im Allgemeinen trägt dieses kleine Programm bereits eine sehr große Informationsschicht, die für die Entwicklung in C++ verstanden werden muss.
-
Richtlinie
#include
#enthalten
weist den Compiler an, eine Header-Datei aufzunehmen, deren Komponenten in der Datei verwendet werden sollen, in der die Funktion main() deklariert ist. iostream ist die Standard-E/A-Bibliothek aus der STL. Das heißt, hier wird bereits die Funktionalität von Bibliotheken genutzt, obwohl sie der Standard für die Sprache sind. Und der letzte Punkt sind die spitzen Klammern, in denen sich der Name der Bibliothek befindet, die darauf hinweisen, dass es sich um die Einbindung externer Dateien in das Projekt handelt und nicht um solche, die Teil des Projekts sind. Dieselben Dateien, die in das Projekt eingebunden werden, werden in normale Anführungszeichen eingerahmt, zum Beispiel #include "myclass.h". Ein solches Einbinden von Bibliotheken ist ein Standard. Wenn dieser Standard beispielsweise in Visual Studio nicht befolgt wird, treten Fehler auf. - std ist die Verwendung des Namensraums, in dem sich die Ausgabeanweisung cout befindet. Namensräume wurden in C++ eingeführt, um Namenskonflikte zwischen Bibliotheken und dem Projekt des Entwicklers zu beseitigen, wenn es irgendwo doppelte Namen gibt oder Klassen. Java verwendet ein Paketsystem, um Namenskonflikte zu lösen.
- cout ist eine Ausgabeanweisung, bei der der << *-Operator überladen ist, um keine separate Funktion zur Ausgabe von Text an die Konsole zu verwenden.
Dies gilt zusätzlich zu der Tatsache, dass der Funktionseintrag main eine andere Form haben kann, obwohl zwei Einträge Standard sind:
- int main()
- int main(int argc, char* argv[])
Sie können auch Einträge wie void main() und so weiter sehen. Dies sind jedoch fehlerhafte Einträge, obwohl sie in einigen Compilern kompiliert werden, und zwar sogar ohne Fehler und Warnungen.
Argumente werden im Eintrag int main(int argc, char* argv[]) übergeben:
- argc – gibt die Anzahl der übergebenen Argumente an. Immer mindestens 1, da immer der Name des Programms übergeben wird
- argv[] – ein Array von Zeigern auf Argumente, die als String-Variablen übergeben werden.
Wenn argc größer als 1 ist, dann wurden beim Programmstart zusätzliche Argumente übergeben.
Die Prüfung könnte so aussehen:
#include <iostream> int main(int argc, char* argv[]) { // Если бы передан дополнительный аргумент, if (argc > 1) { // то попытаемся вывести полученный аргумент std::cout << argv[1]<<endl; } else { // В противном случае сообщаем, что аргументы не передавались cout << "Without arguments" << endl; } return 0; }
Im Allgemeinen gibt es eine große Anzahl von Punkten, die Sie in C ++ auch für ein kleines Programm verstehen müssen, aber das macht es nur interessanter ;-)
Забыли std
std::cout << argv[1]<< std:: endl; //строка 9
std:: cout << "Without arguments" << std:: endl; //строка 14