C++ Online Compiler - Sofort ausführen, testen und debuggen

Schreibe, kompiliere und führe C++-Code direkt in deinem Browser mit unserem kostenlosen Online-C++-Compiler aus. Perfekt zum Lernen, für schnelle Tests und zur Vorbereitung auf Interviews — keine Einrichtung oder Installation erforderlich.

💡 C++ Grundlagen-Leitfaden für Anfänger

1. Variablen und Konstanten deklarieren

C++ erfordert, dass Sie den Typ jeder Variablen deklarieren. Verwenden Sie const, um schreibgeschützte Werte zu definieren, die nach der Initialisierung nicht geändert werden können.

int age = 30;
double pi = 3.14159;
char grade = 'A';
std::string name = "Alice";
bool isActive = true;

// Konstanten
const int MAX_USERS = 100;
const std::string COMPANY = "CodeUtility";

// Der Versuch, eine Konstante zu ändern, führt zu einem Kompilierungsfehler
// MAX_USERS = 200; // ❌ Fehler

2. Bedingte Anweisungen (if / switch)

Verwenden Sie if, else if, else für Verzweigungen. Verwenden Sie switch für mehrere Werte.

int x = 2;
if (x == 1) {
    std::cout << "Eins\n";
} else if (x == 2) {
    std::cout << "Zwei\n";
} else {
    std::cout << "Andere\n";
}

// Switch-case
switch (x) {
    case 1:
        std::cout << "Eins\n";
        break;
    case 2:
        std::cout << "Zwei\n";
        break;
    default:
        std::cout << "Andere\n";
}

3. Schleifen

Verwenden Sie for, while und do-while, um Codeblöcke zu wiederholen.

for (int i = 0; i < 3; i++) {
    std::cout << i << "\n";
}

int n = 3;
while (n > 0) {
    std::cout << n << "\n";
    n--;
}

4. Arrays

Arrays speichern mehrere Elemente desselben Typs.

int numbers[3] = {10, 20, 30};
std::cout << numbers[1] << "\n";

5. Array/Vector-Manipulation

Verwenden Sie std::vector für dynamische Arrays.

#include <vector>

std::vector nums = {1, 2, 3};
nums.push_back(4);
nums.pop_back();

for (int n : nums) {
    std::cout << n << " ";
}

6. Konsoleneingabe/-ausgabe

Verwenden Sie std::cin für Eingaben und std::cout für Ausgaben.

std::string name;
std::cout << "Geben Sie Ihren Namen ein: ";
std::cin >> name;
std::cout << "Hallo, " << name << "\n";

7. Funktionen

Funktionen gruppieren wiederverwendbare Logik. Verwenden Sie Parameter und Rückgabetypen.

int add(int a, int b) {
    return a + b;
}

std::cout << add(3, 4);

8. Maps

std::map speichert Schlüssel-Wert-Paare wie Wörterbücher.

#include <map>

std::map ages;
ages["Alice"] = 30;
std::cout << ages["Alice"];

9. Ausnahmebehandlung

Verwenden Sie try und catch, um Laufzeitfehler zu behandeln.

try {
    throw std::runtime_error("Fehler aufgetreten");
} catch (const std::exception& e) {
    std::cout << e.what();
}

10. Datei-E/A

Verwenden Sie fstream, um aus Dateien zu lesen und in Dateien zu schreiben.

#include <fstream>

std::ofstream out("file.txt");
out << "Hallo Datei";
out.close();

std::ifstream in("file.txt");
std::string line;
getline(in, line);
std::cout << line;
in.close();

11. Zeichenkettenmanipulation

C++-Zeichenketten unterstützen Methoden wie length(), substr() und find().

std::string text = "Hallo Welt";
std::cout << text.length();
std::cout << text.substr(0, 5);
std::cout << text.find("Welt");

12. Klassen & Objekte

C++ unterstützt objektorientierte Programmierung mit Klassen.

class Person {
  public:
    std::string name;
    Person(std::string n) : name(n) {}
    void greet() { std::cout << "Hi, ich bin " << name; }
};

Person p("Alice");
p.greet();

13. Zeiger

Ein Zeiger speichert die Speicheradresse einer anderen Variablen. Verwenden Sie &, um eine Adresse zu erhalten, und *, um zu dereferenzieren (auf den Wert an der Adresse zuzugreifen).

int x = 10;
int* ptr = &x;

std::cout << "Wert von x: " << x << "\n";
std::cout << "Adresse von x: " << ptr << "\n";
std::cout << "Wert vom Zeiger: " << *ptr << "\n";

// Ändern von x über den Zeiger
*ptr = 20;
std::cout << "Aktualisiertes x: " << x << "\n";