Evgenii Legotckoi
Evgenii Legotckoi7. Mai 2017 04:51

C++ - Tutorial 001. Hallo Welt

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.

  1. 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.
  2. 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.
  3. 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:

  1. int main()
  2. 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:

  1. argc – gibt die Anzahl der übergebenen Argumente an. Immer mindestens 1, da immer der Name des Programms übergeben wird
  2. 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 ;-)

Рекомендуємо хостинг TIMEWEB
Рекомендуємо хостинг TIMEWEB
Stabiles Hosting des sozialen Netzwerks EVILEG. Wir empfehlen VDS-Hosting für Django-Projekte.

Magst du es? In sozialen Netzwerken teilen!

s
  • 1. Januar 2021 13:27

Забыли std
std::cout << argv[1]<< std:: endl; //строка 9
std:: cout << "Without arguments" << std:: endl; //строка 14

Kommentare

Nur autorisierte Benutzer können Kommentare posten.
Bitte Anmelden oder Registrieren
Letzte Kommentare
ИМ
Игорь Максимов5. Oktober 2024 07:51
Django – Lektion 064. So schreiben Sie eine Python-Markdown-Erweiterung Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
d
dblas55. Juli 2024 11:02
QML - Lektion 016. SQLite-Datenbank und das Arbeiten damit in QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
k
kmssr8. Februar 2024 18:43
Qt Linux - Lektion 001. Autorun Qt-Anwendung unter Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
Qt WinAPI - Lektion 007. Arbeiten mit ICMP-Ping in Qt Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
EVA
EVA25. Dezember 2023 10:30
Boost - statisches Verknüpfen im CMake-Projekt unter Windows Ошибка LNK1104 часто возникает, когда компоновщик не может найти или открыть файл библиотеки. В вашем случае, это файл libboost_locale-vc142-mt-gd-x64-1_74.lib из библиотеки Boost для C+…
Jetzt im Forum diskutieren
J
JacobFib17. Oktober 2024 03:27
добавить qlineseries в функции Пользователь может получить любые разъяснения по интересующим вопросам, касающимся обработки его персональных данных, обратившись к Оператору с помощью электронной почты https://topdecorpro.ru…
JW
Jhon Wick1. Oktober 2024 15:52
Indian Food Restaurant In Columbus OH| Layla’s Kitchen Indian Restaurant If you're looking for a truly authentic https://www.laylaskitchenrestaurantohio.com/ , Layla’s Kitchen Indian Restaurant is your go-to destination. Located at 6152 Cleveland Ave, Colu…
КГ
Кирилл Гусарев27. September 2024 09:09
Не запускается программа на Qt: точка входа в процедуру не найдена в библиотеке DLL Написал программу на C++ Qt в Qt Creator, сбилдил Release с помощью MinGW 64-bit, бинарнику напихал dll-ки с помощью windeployqt.exe. При попытке запуска моей сбилженной программы выдаёт три оши…
F
Fynjy22. Juli 2024 04:15
при создании qml проекта Kits есть но недоступны для выбора Поставил Qt Creator 11.0.2. Qt 6.4.3 При создании проекта Qml не могу выбрать Kits, они все недоступны, хотя настроены и при создании обычного Qt Widget приложения их можно выбрать. В чем может …

Folgen Sie uns in sozialen Netzwerken