Compilateur C++ en ligne - Exécutez, Testez et Déboguez Instantanément

Écrivez, compilez et exécutez du code C++ instantanément dans votre navigateur avec notre compilateur C++ en ligne gratuit. Parfait pour apprendre, tester rapidement et se préparer aux entretiens — aucune configuration ou installation requise.

💡 Guide des bases de C++ pour les débutants

1. Déclaration de Variables et Constantes

C++ nécessite que vous déclariez le type de chaque variable. Utilisez const pour définir des valeurs en lecture seule qui ne peuvent pas être modifiées après l'initialisation.

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

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

// Tenter de modifier une constante provoquera une erreur à la compilation
// MAX_USERS = 200; // ❌ erreur

2. Conditionnelles (if / switch)

Utilisez if, else if, else pour les branches. Utilisez switch pour plusieurs valeurs.

int x = 2;
if (x == 1) {
    std::cout << "Un\n";
} else if (x == 2) {
    std::cout << "Deux\n";
} else {
    std::cout << "Autre\n";
}

// Switch-case
switch (x) {
    case 1:
        std::cout << "Un\n";
        break;
    case 2:
        std::cout << "Deux\n";
        break;
    default:
        std::cout << "Autre\n";
}

3. Boucles

Utilisez for, while, et do-while pour répéter des blocs de code.

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

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

4. Tableaux

Les tableaux stockent plusieurs éléments du même type.

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

5. Manipulation de Tableaux/Vecteurs

Utilisez std::vector pour des tableaux dynamiques.

#include <vector>

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

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

6. Entrée/Sortie Console

Utilisez std::cin pour l'entrée et std::cout pour la sortie.

std::string name;
std::cout << "Entrez votre nom : ";
std::cin >> name;
std::cout << "Bonjour, " << name << "\n";

7. Fonctions

Les fonctions regroupent la logique réutilisable. Utilisez des paramètres et des types de retour.

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

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

8. Maps

std::map stocke des paires clé-valeur comme des dictionnaires.

#include <map>

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

9. Gestion des Exceptions

Utilisez try et catch pour gérer les erreurs d'exécution.

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

10. Entrée/Sortie de Fichier

Utilisez fstream pour lire et écrire dans des fichiers.

#include <fstream>

std::ofstream out("file.txt");
out << "Bonjour Fichier";
out.close();

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

11. Manipulation de Chaînes

Les chaînes C++ supportent des méthodes comme length(), substr(), et find().

std::string text = "Bonjour le monde";
std::cout << text.length();
std::cout << text.substr(0, 5);
std::cout << text.find("monde");

12. Classes & Objets

C++ supporte la programmation orientée objet en utilisant des classes.

class Person {
  public:
    std::string name;
    Person(std::string n) : name(n) {}
    void greet() { std::cout << "Salut, je suis " << name; }
};

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

13. Pointeurs

Un pointeur stocke l'adresse mémoire d'une autre variable. Utilisez & pour obtenir une adresse, et * pour déréférencer (accéder à la valeur à l'adresse).

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

std::cout << "Valeur de x : " << x << "\n";
std::cout << "Adresse de x : " << ptr << "\n";
std::cout << "Valeur depuis le pointeur : " << *ptr << "\n";

// Modifier x via le pointeur
*ptr = 20;
std::cout << "x mis à jour : " << x << "\n";