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++
main.c
#include <stdio.h>
int math_square(int value) {
return value * value;
}
int main(void) {
printf("%d\n", math_square(7));
}
49
C++
main.cpp
#include <iostream>
namespace math {
int square(int value) {
return value * value;
}
}
int main() {
std::cout << math::square(7) << '\n';
}
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.