Bases de C/C++

Fonctions et passage de paramètres

Les paramètres sont copiés par défaut ; la modification de l’objet doit être explicitement autorisée.

Qu’est-ce que Fonctions et passage de paramètres ?

Les paramètres sont copiés par défaut ; la modification de l’objet doit être explicitement autorisée.

Comparez passage par valeur, pointeurs et références.

Points importants

  • Activez les avertissements du compilateur et corrigez-les.
  • Connaissez le type et la durée de vie de chaque valeur.
  • Validez les entrées et les limites des tableaux.

Exemples de code C et C++

C
Exécuter →
main.c
#include <stdio.h>

void swap_ints(int *left, int *right) {
    int temporary = *left;
    *left = *right;
    *right = temporary;
}

int main(void) {
    int a = 4, b = 9;
    swap_ints(&a, &b);
    printf("%d %d\n", a, b);
    return 0;
}
Résultat attendu
9 4
C++
Exécuter →
main.cpp
#include <iostream>

void swap_ints(int& left, int& right) {
    int temporary = left;
    left = right;
    right = temporary;
}

int main() {
    int a = 4, b = 9;
    swap_ints(a, b);
    std::cout << a << ' ' << b << '\n';
}
Résultat attendu
9 4

Comparaison entre C et C++

C passe une adresse puis la déréférence. Les références C++ offrent une syntaxe d’alias et const exprime un accès en lecture seule.

C

C expose de petites API procédurales et les détails de représentation.

C++

C++ conserve le modèle bas niveau et ajoute des types et abstractions plus sûrs.

Exercices pratiques

Exécutez les deux versions puis modifiez-les pour observer leurs garanties.

  • Ajoutez des entrées invalides et limites.
  • Compilez avec -Wall -Wextra -Wpedantic.
  • Séparez déclarations et implémentations.