# Enum Em C++, enumeração (enum) é um recurso que permite definir um novo tipo de dado que consiste em um conjunto de constantes nomeadas. Essas constantes têm um valor inteiro associado por padrão, começando de 0 e aumentando em uma unidade para cada constante seguinte. No entanto, você pode atribuir valores específicos às constantes manualmente, se necessário. **Sintaxe:** ```cpp enum NomeDaEnumeracao { CONSTANTE1, CONSTANTE2, CONSTANTE3 = valor, // ... }; ``` **Exemplo**: ```cpp #include <iostream> // Declaração da enumeração enum DiasDaSemana { SEGUNDA, TERCA, QUARTA, QUINTA, SEXTA, SABADO, DOMINGO }; int main() { // Acessando e utilizando a enumeração DiasDaSemana dia = TERCA; if (dia == QUARTA) { std::cout << "Hoje é quarta-feira!" << std::endl; } else { std::cout << "Hoje não é quarta-feira." << std::endl; } switch (dia) { case SEGUNDA: std::cout << "Segunda-feira" << std::endl; break; case TERCA: std::cout << "Terça-feira" << std::endl; break; case QUARTA: std::cout << "Quarta-feira" << std::endl; break; case QUINTA: std::cout << "Quinta-feira" << std::endl; break; case SEXTA: std::cout << "Sexta-feira" << std::endl; break; case SABADO: std::cout << "Sábado" << std::endl; break; case DOMINGO: std::cout << "Domingo" << std::endl; break; default: std::cout << "Dia inválido" << std::endl; break; } return 0; } ``` # Ponteiros Ponteiros são um conceito fundamental em linguagens de programação, incluindo C++. Eles permitem que você armazene e manipule endereços de memória, permitindo acesso direto aos dados que estão armazenados nesses endereços. Basicamente, **ponteiro são variáveis que armazenam o endereço de memória de outras variáveis.** ## Porque usar ponteiros ## Sintaxe ```cpp #include <iostream> int main() { int numero = 42; // Variável inteira int* ponteiro; // Ponteiro para um inteiro // Inicializando o ponteiro com o endereço da variável 'numero' ponteiro = &numero; // Imprimindo o valor e o endereço da variável 'numero' std::cout << "Valor de numero: " << numero << std::endl; std::cout << "Endereço de numero: " << &numero << std::endl; // Imprimindo o valor e o endereço armazenado no ponteiro std::cout << "Valor apontado pelo ponteiro: " << *ponteiro << std::endl; std::cout << "Endereço armazenado no ponteiro: " << ponteiro << std::endl; return 0; } ``` # Vetores # Tipos de paradigmas (Imperativo, declarativo...) Os paradigmas da programação são abordagens ou estilos diferentes para projetar e desenvolver programas de computador. Cada paradigma define como o código é estruturado, como os dados são organizados e como os problemas são resolvidos. ## Imperativo Também é chamado de paradigma procedural. Nesse tipo de construção, as instruções devem ser passadas ao computador na sequência em que devem ser executadas Esse tipo de programação é recomendada em projetos nos quais não se espera que haja mudanças significativas ao longo do tempo (programa estático) ou quando não existirem muitos elementos compartilhados. ### Orientado a objetos ## Declarativo ### Lógico ### Funcional {%hackmd @themes/dracula %}