C++ moderno e alternativas em C

Namespaces e prefixos em C

Namespaces C++ criam scope; bibliotecas C prefixam identificadores públicos.

O que é Namespaces e prefixos em C?

Namespaces C++ criam scope; bibliotecas C prefixam identificadores públicos.

Evite colisões de símbolos.

Pontos importantes

  • Entenda primeiro o mecanismo em C.
  • Use RAII e semântica de valor para ownership.
  • Prefira abstrações type-safe a macros e casts.

Exemplos de código C e C++

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

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

int main(void) {
    printf("%d\n", math_square(7));
}
Saída esperada
49
C++
Executar →
main.cpp
#include <iostream>

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

int main() {
    std::cout << math::square(7) << '\n';
}
Saída esperada
49

Comparação entre C e C++

Prefixo C é convenção; namespace C++ é imposto pelo compiler e suporta alias e lookup qualificado.

C

C usa prefixos, callbacks, macros e contextos explícitos.

C++

O idioma fornece abstrações com escopo, type-safe e de baixo custo.

Exercícios práticos

Execute as duas versões e modifique-as para observar suas garantias.

  • Escreva primeiro o mecanismo em C.
  • Substitua cleanup manual por RAII.
  • Meça alocações e dispatch virtual.