C++ moderno e alternative C

Namespace e prefissi C

I namespace C++ creano scope; le librerie C prefissano gli identificatori pubblici.

Che cos’è Namespace e prefissi C?

I namespace C++ creano scope; le librerie C prefissano gli identificatori pubblici.

Evita collisioni di simboli.

Punti importanti

  • Comprendi prima il meccanismo C.
  • Usa RAII e value semantics per ownership.
  • Preferisci astrazioni type-safe a macro e cast.

Esempi di codice C e C++

C
Esegui →
main.c
#include <stdio.h>

int math_square(int value) {
    return value * value;
}

int main(void) {
    printf("%d\n", math_square(7));
}
Output previsto
49
C++
Esegui →
main.cpp
#include <iostream>

namespace math {
    int square(int value) {
        return value * value;
    }
}

int main() {
    std::cout << math::square(7) << '\n';
}
Output previsto
49

Confronto tra C e C++

Il prefisso C è convenzione; il namespace C++ è applicato dal compilatore e supporta alias e lookup qualificato.

C

C usa prefissi, callback, macro e context espliciti.

C++

Il linguaggio offre astrazioni con scope, type-safe e spesso zero-overhead.

Esercizi pratici

Esegui entrambe le versioni e modificale per osservare le diverse garanzie.

  • Scrivi prima il meccanismo C.
  • Sostituisci cleanup manuale con RAII.
  • Misura allocation e virtual dispatch.