Executando verificação de segurança...
1

Na realidade C e C++ estão anos-luz de distância entre si, com apenas algumas coisas sendo comuns. Quanto ao termo STL, significa Standard Template Library, que é basicamente o conjunto de funções e estrutura de dados que já vêm prontos para serem usados, como Vector, Map e Set, diferentemente de C, que tudo tem que ser implementado à mão.

Carregando publicação patrocinada...
1

Entendo o ponto. Talvez onde eu estudei tenha ensinado de forma supercial para evitar confusões. Lembro de ter visto algo como "C++ é uma extensão do C".

Ao mesmo tempo, agora que você falou, em outras fontes de fato é dito que C++ tem infinitas coisas a mais que o C, e apesar de ter relações, há muitas nuances.

Esquisito isso, parece que veio um flash de luz quando tu falou em minha mente 😄

1

Se fosse só coisas a mais, poderia ser realmente algo como uma extensão, porém existem coisas que estão presentes nas duas linguagens, só que tratadas de formas diferentes.

Por exemplo, em C uma função escrita como

void foo() {
    // snip
}

é diferente de

void foo(void) {
    // snip
}

enquanto que em C++, a primeira definição (sem void) é tratada como a segunda (com void).

C function with no parameters behavior

PS: Eu não vejo muita gente nova se interessando por low level, e é o que eu mais gosto, então se quiser me adicionar no discord pra trocar um papo depois, aqui está meu user: frangomolhado.

1

Isso mesmo, o problema é que quando usamos a STL, ou seja, os templates pre-prontos e os ponteiros inteligentes entramos numa área chamada modern cpp.

Para alguns programadores ainda existe a versão antiquada do "Cpp é uma extensão de C" e isso damos ao nome de Cpp Ortodoxo que não é recomendado.

Por isso uma das minhas dicas foi: Não se apegue ao estilo C de escrever código.