Ícone do app Aprender C++: Curso Code

Aprender C++: Curso Code

Educação · Grátis · iOS & Android · CoddyKit

Aprender C++: Curso Code — Código C++ que você escreve, compila e executa no celular

Aprender C++: Curso Code é um app gratuito para iOS e Android voltado para iniciantes, estudantes de ciência da computação e desenvolvedores que querem aprender C++ escrevendo código. O editor integrado envia seu código para um compilador GCC real e mostra a saída e o código de saída, enquanto um Mentor de IA transforma erros do compilador em explicações simples. 51 cursos e mais de 200 lições curtas levam você do primeiro cout a classes, à STL, à semântica de movimentação e ao C++20.

App Store — Baixe grátisGoogle Play — Baixe grátis
Preço
Grátis, upgrade para Pro
Plataformas
iOS e Android
Idiomas
22
Classificação etária
4+
Requisitos
iOS 15.1 ou posterior
App Store
4.9 ★ (7)
Tela inicial do app de C++ em sua interface em árabe, com um botão Iniciar primeira lição, uma meta diária, a contagem regressiva para o World Coding Challenge e atalhos para Perguntar ao Mentor e Gerar sua liçãoA aba Challenge na interface em árabe, mostrando o World Coding Challenge, um desafio de C++ do curso ativo e uma opção para entrar com um código
51Cursos e mais de 200 lições
GCCCompilador real no editor
3/dayTrês hábitos diários de prática
Ponteiros só assustam até a lição doze.

C++ tem fama de ser impossível de aprender, mas isso vem, em grande parte, de apresentarem tudo de uma vez: ownership, heap, templates e a STL logo no primeiro dia. Distribuído em 51 cursos curtos, o mesmo conteúdo chega camada por camada, e cada ideia termina com código que você mesmo compila e executa.

O que é

Aprender C++: Curso Code é um app gratuito para iOS e Android que ensina C++ desde o primeiro cout até classes, à STL, à semântica de movimentação e ao C++20 moderno. São 51 cursos e mais de 200 lições curtas, organizados em cinco trilhas (fundamentos, memória, objetos, a STL e construção de programas reais), um editor que compila em um compilador GCC real, 20 projetos guiados, 60 missões de programação e um Mentor de IA com tradutor de erros.

Dentro do app

Como ele é

Tela inicial do app de C++ em sua interface em árabe, com um botão Iniciar primeira lição, uma meta diária, a contagem regressiva para o World Coding Challenge e atalhos para Perguntar ao Mentor e Gerar sua lição
InícioA tela inicial mostra o cartão do curso com um botão de início, a meta diária e uma contagem regressiva para a próxima rodada do World Coding Challenge, além de atalhos para o Mentor de IA e a geração de lições. A captura de tela usa a interface em árabe.
A aba Challenge na interface em árabe, mostrando o World Coding Challenge, um desafio de C++ do curso ativo e uma opção para entrar com um código
Aba ChallengeA aba Challenge abre o World Coding Challenge, permite iniciar uma partida a partir do seu curso de C++ ativo, explorar outros desafios ou entrar em um com um código.
Tela de perfil na interface em árabe, com um contador de sequência diária, um mapa de calor de atividade de 90 dias e uma grade de medalhas de conquistas
Sequência e medalhasO perfil acompanha sua sequência diária, um mapa de calor de atividade de 90 dias e medalhas de conquistas, o que ajuda a manter regulares as sessões curtas.
AI chat screen asking How can I help you, with suggested prompts to explain the key concepts, give tips, quiz you and create a learning roadmap
AI chatThe AI chat answers questions and starts from suggestions: explain the key concepts, share tips, quiz you or build a learning roadmap.
Learn C++ home screen with the C++ Academy course card, Start First Lesson, a daily goal ring, a Feature Request row and the Skill Hub
HomeThe home screen up close: the C++ Academy course card with Start First Lesson, a daily goal ring, a Feature Request row and the Skill Hub.

O curso

O que o curso de C++ aborda

51 cursos do próprio currículo do app, desde o primeiro programa compilado até concorrência lock-free e corrotinas.

  1. Sintaxe, strings e fluxo de controle

    Configuração de um compilador e execução do primeiro programa, seguidas por variáveis e inferência de tipos, std::string versus arrays de char no estilo C, streams de entrada e saída e os padrões de fluxo de controle pressupostos por todos os cursos seguintes.

  2. Structs, vetores e miniprojetos

    Uma introdução a structs e classes, trabalho com números e matemática, vetores e arrays dinâmicos, passagem por referência e pequenos projetos práticos que combinam essas partes.

  3. Memória, RAII e alternativas mais seguras aos ponteiros crus

    O modelo de memória stack versus heap, RAII e gerenciamento de recursos, tratamento de exceções e noexcept, correção de const, uso seguro de ponteiros e smart pointers como substituição moderna para new e delete manuais.

  4. Tipos modernos, containers e design orientado a objetos

    Enums, unions e std::variant, std::optional e std::expected, std::string_view e std::span, containers associativos e hashing de unordered_map, herança e polimorfismo e sobrecarga de operadores para tipos definidos pelo usuário.

  5. Ferramentas de build, E/S de arquivos e a biblioteca padrão

    Builds com CMake e gerenciamento de pacotes, E/S de arquivos com fstream, a biblioteca chrono para lidar com tempo e correspondência de padrões com o header regex: as partes de C++ que conectam o código ao sistema de arquivos e ao relógio.

  6. A STL e o C++ moderno do C++11 ao C++20

    Uma visão geral das mudanças introduzidas do C++11 ao C++20, semântica de movimento e referências rvalue, lambdas e std::function, algoritmos da STL, iteradores e ranges e depuração com sanitizers.

  7. Templates, performance e programação de sistemas

    Primitivas de concorrência, especialização de templates e SFINAE, templates avançados e metaprogramação, conceitos do C++20, análise de performance e design da API pública de uma biblioteca.

  8. Concorrência avançada e corrotinas

    Programação lock-free e atomics para os casos em que um mutex é lento demais e corrotinas do C++20, a adição mais recente à linguagem, ensinadas por último porque todo o conteúdo anterior é pré-requisito.

Como funciona

Como funciona uma sessão de C++

Cada sessão combina uma lição curta com código que você executa, além de alguns exercícios diários para manter a sintaxe sempre fresca.

  1. Leia uma lição curta

    Abra um curso e faça uma única lição sobre uma ideia, como uma struct, uma referência ou um smart pointer. O primeiro curso é grátis, então você pode descobrir como são as lições antes de decidir qualquer coisa.

  2. Escreva, compile e execute

    Digite o código no editor móvel e execute-o. Um compilador GCC real compila o código e retorna a saída e o código de saída, e programas que leem de cin têm um espaço para você digitar a entrada. Como o compilador é remoto, é necessária uma conexão para executar o código.

  3. Mantenha a prática em dia com exercícios diários e o Mentor de IA

    Preveja a saída de cinco programas curtos, corrija um programa com defeito na caça diária aos bugs ou jogue uma Syntax Sprint de 60-second. Quando um erro estiver ilegível, cole-o no Mentor de IA e receba uma explicação em uma frase, além da linha que precisa ser corrigida.

O que está incluído

O que vem com o app

51

Cursos e mais de 200 lições

Um mapa de cursos organiza tudo em cinco trilhas: fundamentos, memória, objetos, a STL e construção de programas reais. Os tópicos vão de variáveis e streams a ponteiros, RAII e templates, passando por CMake, concorrência e corrotinas.

GCC

Compilador real no editor

O código é compilado por um compilador GCC real, não por um simulador. Você vê a saída e o código de saída, pode fornecer entrada a programas que leem de cin e executar novamente com um toque. Cada programa executado é salvo.

3/day

Três hábitos diários de prática

Preveja a saída (cinco programas curtos por dia; responda antes que o compilador a determine), participe de uma caça diária aos bugs com dicas grátis e faça uma Syntax Sprint de 60-second com perguntas respondidas com um toque.

20

Projetos guiados

Construa programas reais passo a passo, como um inventário, uma conta bancária, formas com polimorfismo, uma stack com template, uma calculadora RPN, uma lista encadeada e uma máquina de estados.

AI

Mentor de IA e tradutor de erros

Travou em um ponteiro ou em uma parede de erros de template? Cole o erro e receba uma explicação em uma frase, ou pergunte qualquer coisa ao Mentor de IA em linguagem simples.

60

Missões e um desafio mundial

60 missões de programação, do fácil ao difícil, um novo problema de programação todos os dias e o World Coding Challenge, com três rodadas globais ao vivo por dia e uma tabela de classificação, além de sequências, XP e lembretes.

Contexto

Por que C++ ainda executa os softwares que não podem se dar ao luxo de serem lentos?

C++ compila diretamente para código de máquina e dá ao programador controle direto sobre a memória, então nada fica entre o código e o hardware. É por isso que game engines como Unreal, sistemas de negociação de alta frequência, firmware de robótica e muitos componentes de sistemas operacionais ainda são escritos nessa linguagem décadas depois do surgimento das linguagens de alto nível. Esse mesmo controle é o que faz C++ parecer difícil no início: um programa em C++ precisa dizer explicitamente onde um valor fica e quem é responsável por liberá-lo, algo que Python ou JavaScript fazem de forma invisível.

Stack vs. heapo modelo de memória

A memória de stack é liberada automaticamente assim que uma função retorna; a memória de heap permanece até que algo a libere explicitamente. Muitos bugs que iniciantes encontram, como um ponteiro pendente, um vazamento ou uma falha ao acessar memória já liberada, podem ser rastreados até a confusão entre os dois.

RAIIa própria rede de segurança do C++

Resource Acquisition Is Initialization vincula o tempo de vida de um recurso ao construtor e ao destrutor de um objeto, fazendo com que ele seja liberado automaticamente quando o objeto sai do escopo. Smart pointers são RAII aplicado à memória, e esse idioma é o que torna o C++ moderno muito mais seguro do que o código com ponteiros crus que ele substituiu.

A STLo conjunto de ferramentas da linguagem

A Standard Template Library reúne contêineres como vector, map e unordered_map, além de iteradores e algoritmos que já implementam ordenação, busca e transformação. Recorrer à STL em vez de criar uma lista encadeada do zero é o ponto em que C++ deixa de parecer trabalho manual.

Templatescódigo que funciona com qualquer tipo

Um template permite que uma função ou classe funcione com qualquer tipo que o compilador consiga resolver em tempo de compilação, sem custo em tempo de execução. É o mecanismo por trás da própria STL e o motivo pelo qual as bibliotecas C++ podem ser genéricas e rápidas ao mesmo tempo.

Para quem é

Para quem é — e para quem não é

É uma boa opção se você

  • Quer aprender as partes mais difíceis de C++, como ponteiros, heap e templates, uma de cada vez, em vez de encará-las em um manual denso
  • É estudante de ciência da computação e está acompanhando disciplinas que pressupõem conhecimento de STL e estruturas de dados básicas
  • Está seguindo em direção ao desenvolvimento de jogos, sistemas embarcados ou sistemas e precisa realmente entender o modelo de memória
  • Vem de Python ou Java e quer entender o que acontece na memória
  • Prefere colar um erro real do compilador no AI Mentor em vez de procurar uma mensagem genérica em fóruns

Não é a ferramenta certa se você

  • Precisa executar código sem conexão: os programas são compilados em um compilador GCC remoto
  • Precisa hoje de uma toolchain completa para desktop, como projetos CMake com vários arquivos, bibliotecas externas grandes e um debugger, recursos que devem ser usados em um computador
  • Quer ter todos os 51 cursos de graça: o primeiro curso e um conjunto de exercícios diários são gratuitos, e o Pro desbloqueia o restante
  • Já trabalha profissionalmente com C++ e quer uma referência, não um curso sequencial

Dúvidas

Perguntas frequentes

O que é Aprender C++: Curso Code?

Aprender C++: Curso Code é um app gratuito para iOS e Android que ensina programação em C++ por meio de lições curtas e um editor de código integrado que compila em um compilador GCC real. Ele foi criado para iniciantes, estudantes de ciência da computação, desenvolvedores de jogos e sistemas e qualquer pessoa que esteja se preparando para uma disciplina de programação. A interface está disponível em 22 idiomas.

Aprender C++: Curso Code é gratuito?

Ele pode ser baixado gratuitamente na App Store e no Google Play, e você pode começar de graça. O primeiro curso, o conjunto diário de Predict the output, a caça diária a bugs, três rodadas de Syntax Sprint por dia, o primeiro projeto guiado, duas missões, o problema diário de programação, o World Coding Challenge e uma pergunta diária ao AI Mentor são gratuitos. O Pro desbloqueia todos os cursos, missões e projetos, Syntax Sprint ilimitado, todas as ferramentas de AI, a prova para obter o certificado e uma experiência sem anúncios.

Posso compilar e executar C++ no meu celular? Funciona offline?

Sim, você pode escrever C++ no editor do app e executá-lo pelo celular. Um compilador GCC real compila o código e retorna a saída e o código de saída, e programas que leem dados de cin podem receber entradas digitadas. Como o compilador é remoto, é necessária uma conexão com a internet para executar o código. Projetos CMake grandes com vários arquivos são mais adequados para serem compilados em um computador.

Para quem ele é indicado e o que aborda?

Ele é indicado para iniciantes que estão aprendendo C++ como primeira ou segunda linguagem, estudantes de uma disciplina de C++, desenvolvedores de jogos e sistemas e desenvolvedores de Python ou Java que querem entender a memória. Os 51 cursos abordam variáveis, strings, streams, fluxo de controle, structs e classes, vetores, referências, ponteiros, RAII, smart pointers, templates, lambdas, a STL, E/S de arquivos, CMake, concorrência e corrotinas.

O que são Predict the output, Bug hunt e Syntax Sprint?

São três hábitos diários de prática de C++. Predict the output apresenta cinco programas curtos por dia e pede uma resposta antes de o compilador confirmar o resultado. Bug hunt entrega um programa quebrado por dia para você corrigir e comprovar com o compilador, com dicas gratuitas. Syntax Sprint consiste em perguntas de sintaxe de um toque, com 60 segundos de duração, nas quais você tenta superar sua melhor pontuação.

Por que os ponteiros e a divisão entre stack e heap parecem tão difíceis em C++?

A maioria das linguagens decide por você onde um valor fica e quando ele é liberado; em C++, essa decisão é sua, e daí vem toda a dificuldade. Um ponteiro é apenas uma variável que contém o endereço de outro valor, mas confundir stack e heap produz ponteiros pendentes, vazamentos e travamentos. O app ensina o modelo de memória, RAII e smart pointers em cursos próprios.

O que é RAII e por que o C++ moderno prefere RAII a new e delete manuais?

RAII, Resource Acquisition Is Initialization, vincula o tempo de vida de um recurso ao construtor e ao destrutor de um objeto, fazendo com que ele seja liberado automaticamente quando o objeto sai do escopo, sem uma chamada delete que possa ser esquecida. Smart pointers são RAII aplicado à memória, e trocar new e delete crus por smart pointers é uma das maiores melhorias de segurança do C++ moderno.

Devo aprender a STL antes de escrever minhas próprias estruturas de dados?

Em geral, sim. A Standard Template Library já oferece vetores, mapas, conjuntos, iteradores e algoritmos testados, então você aprende a usar std::sort antes de reimplementá-lo. O app ainda faz você criar uma lista encadeada, uma stack de template e outras estruturas em seus projetos guiados, depois que os fundamentos estiverem consolidados.

Isso ajuda na preparação para entrevistas de C++?

Ajuda na parte prática. Predict the output e Bug hunt treinam a leitura cuidadosa de código, os cursos de STL abordam os containers e algoritmos mais usados em entrevistas e projetos guiados, como uma lista encadeada, uma stack de template e uma calculadora RPN, praticam estruturas comuns. É um curso, não um banco dedicado de perguntas de entrevista.

Learn C++: Code & Practice na App Store é o mesmo app?

Sim. O título da listagem na App Store é Learn C++: Code & Practice e o título da listagem no Google Play é Aprender C++: Curso Code, mas é o mesmo app com os mesmos 51 cursos. Um certificado de conclusão é emitido após a prova final; ele registra seu trabalho e não é uma qualificação reconhecida.

Comece agora

Compile seu primeiro programa em C++ hoje

51 cursos, um compilador GCC real e um AI Mentor. Comece de graça no iOS e no Android, em 22 idiomas.

App Store — Baixe grátisGoogle Play — Baixe grátis
Última revisão · Publicado pela CoddyKit · Política de privacidade
Disponível em iOS e Android.