C/C++-Grundlagen

Funktionen und Parameterübergabe

Parameter werden standardmäßig kopiert; Änderungen am Objekt müssen ausdrücklich erlaubt werden.

Was ist Funktionen und Parameterübergabe?

Parameter werden standardmäßig kopiert; Änderungen am Objekt müssen ausdrücklich erlaubt werden.

Vergleiche Wertübergabe, Pointer und Referenzen.

Wichtige Punkte

  • Aktiviere Compiler-Warnungen und behebe sie vollständig.
  • Kenne Typ und Lebensdauer jedes Werts.
  • Prüfe Eingaben und Array-Grenzen explizit.

Codebeispiele in C und C++

C
Code ausführen →
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;
}
Erwartete Ausgabe
9 4
C++
Code ausführen →
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';
}
Erwartete Ausgabe
9 4

Vergleich zwischen C und C++

C übergibt eine Adresse und dereferenziert sie. C++-Referenzen bieten Alias-Syntax, const dokumentiert nur lesenden Zugriff.

C

C stellt kleine prozedurale APIs und Repräsentationsdetails offen dar.

C++

C++ behält das Low-Level-Modell und ergänzt sicherere Bibliothekstypen.

Übungsaufgaben

Führe beide Versionen aus und untersuche die unterschiedlichen Garantien.

  • Füge ungültige und Grenzwerte hinzu.
  • Kompiliere mit -Wall -Wextra -Wpedantic.
  • Teile Deklaration und Implementierung auf.