C ++: história, características, tipos de dados, exemplos - Ciência - 2023
science
Contente
- História
- Design e implementação
- lançamento inicial
- C 2.0
- Versão padronizada
- Atualizações recentes
- Recursos C ++
- Linguagem popular
- Orientado a Objeto
- Processual
- Programação estruturada
- Gerenciamento de memória
- Ponteiros
- Linguagem compilada
- Tipos de dados em C ++
- - Primário
- Int
- Flutuador
- Caracteres
- Duplo
- Vazio (Nulo)
- Bool
- - Secundário
- Arranjos
- Ponteiros
- Características
- - Usuário definido
- Estruturas
- União
- Para que serve o C ++? Formulários
- Formulários
- Sistemas operacionais
- Compiladores
- Jogos
- Navegadores da web
- Internet das Coisas
- Nuvem / Sistemas Distribuídos
- Acesso a bancos de dados
- Exemplos
- Bibliotecas
- Vantagem
- Rapidez
- Perto do hardware
- Eficiência
- Liberdade para escolher estilos de programação
- Capacidade de analisar problemas complexos
- Capacidade de detectar erros antes da execução
- Desvantagens
- Uso de ponteiros
- Problemas de segurança
- Sem coletor de lixo
- Ausência de um tópico
- Programas compilados
- Pode ser complexo
- Referências
C ++ é uma versão aprimorada e estendida da linguagem de programação C, desenvolvida por Stroustrup em 1979 como parte de seu doutorado. Stroustrup projetou o que chamou de “C com classes”, que mais tarde foi chamado de C ++, porque acreditava que as linguagens de programação existentes tinham limitações e não eram as melhores para projetos de grande escala.
É por isso que ele usou C para desenvolver a linguagem de programação que procurava, porque C era uma linguagem eficaz e rápida de operar.
C ++ é uma linguagem de programação de propósito geral, refinada e poderosa. Esta linguagem compilada de forma livre é mais adequada para programadores de nível intermediário.
No entanto, aqueles que desejam começar a programar em C ++ descobrirão que podem aprender rapidamente os conceitos de programação que os levarão por um longo caminho em suas carreiras.
É compatível com a programação orientada a objetos, levando todas as suas características. Esses conceitos diferenciam a linguagem C ++ e é utilizada principalmente para desenvolver aplicações de forma fácil e conceituada.
História
Design e implementação
C ++ foi projetado e implementado em 1980 por Bjarne Stroustrup na AT&T Bell Labs, combinando perfeitamente os conceitos de programação procedural e orientada a objetos.
Na linguagem C, o operador ++ é usado para incrementar uma variável, manifestando assim a ideia de Stroustrup de que C ++ seria a próxima geração da linguagem C.
lançamento inicial
C ++ foi lançado em 1985 pela primeira vez no mercado. Em 1986, Stroustrup publicou seu famoso livro chamado A linguagem de programação C ++, tornando-se o manual de referência para o idioma.
C 2.0
O lançamento mais importante do C ++ foi o C 2.0 em 1989, documentado por Ellis e Stroustrup em O Manual de Referência Anotado C ++. Era uma linguagem totalmente orientada a objetos.
Versão padronizada
A primeira versão padronizada, C ++ 98, foi lançada em 1998. Este padrão internacional para C ++ foi desenvolvido pelo American National Standards Institute (ANSI) e pela International Standards Organization (ISO).
Em 2003, o seguinte padrão C ++ 03 foi publicado com o intuito de corrigir bugs identificados no C ++ 98 e garantir que a linguagem tivesse maior portabilidade e consistência.
Atualizações recentes
A próxima grande atualização da linguagem veio em 2011 e foi chamada de C ++ 11. Vários recursos foram adicionados para melhorar o desempenho do tempo de execução.
Em seguida, foi lançado o C ++ 14, onde algumas melhorias foram feitas e correções de bugs do C ++ 11. A próxima versão lançada em 2017 foi o C ++ 17, que tem vários novos recursos e uma biblioteca padrão muito mais extensa.
Recursos C ++
Linguagem popular
C ++ é amplamente utilizado por desenvolvedores, principalmente em aplicativos. Ele contém todas as partes importantes, como uma linguagem central que fornece todos os blocos de desenvolvimento necessários, como variáveis, tipos de dados, literais, etc.
É a quarta linguagem de programação mais popular, de acordo com o índice da comunidade de programação TIOBE.
Os usos do C ++ tornam-no a linguagem mais conveniente, devido às suas características. É a primeira linguagem de inicialização para qualquer desenvolvedor interessado em trabalhar com linguagens de programação. É fácil de aprender, pois é uma linguagem puramente baseada em conceitos.
Sua sintaxe é muito simples, tornando-o fácil de escrever, e os erros podem ser facilmente replicados. Antes de usar qualquer outra linguagem, os programadores preferem aprender C ++ primeiro e depois usar outras.
No entanto, a maioria dos desenvolvedores tenta manter o C ++ por causa de sua ampla variedade de uso e compatibilidade com várias plataformas e software.
Orientado a Objeto
A principal atualização de C para C ++ é a programação orientada a objetos. Isso significa que o foco está nos "objetos" e no manuseio em torno desses objetos.
Segue os conceitos de polimorfismo, herança, encapsulamento e abstração, facilitando o desenvolvimento e manutenção.
Processual
C ++ suporta o conceito de procedimentos e sub-rotinas, que encerram segmentos de código em blocos reutilizáveis, que podem ser “chamados” para realizar tarefas individuais.
Procedimentos e sub-rotinas são conhecidos como funções em C ++. Uma função pode receber zero ou mais parâmetros e retornar zero ou um valor.
Programação estruturada
O código C ++ é modular, com suporte de funções, classes e objetos, cabendo os módulos livremente.
As instruções de controle de fluxo em C ++ são semelhantes às encontradas em muitas outras linguagens de programação estruturadas. Esses são if-else para implementar a lógica de decisão e for, while e do-while para implementar iterações ou loops.
Gerenciamento de memória
C ++ oferece suporte à alocação de memória dinâmica. Assim, você pode liberar a memória alocada a qualquer momento.
Ponteiros
São variáveis que armazenam o endereço de outra variável. O ponteiro aponta para a localização de memória de uma variável. C ++ oferece suporte a ponteiros para fornecer soluções para muitos problemas que requerem acesso ao local da memória.
Linguagem compilada
Antes de poder ser executado, um programa C ++ deve ser traduzido para as instruções nativas da máquina de destino por um programa chamado compilador. Sem compilação, nenhum programa C ++ pode ser executado. O compilador compila o programa C ++ para que possa ser executado.
Tipos de dados em C ++
- Primário
Int
É usado para armazenar números inteiros. A memória que ocupa depende do compilador (32 ou 64 bits). Ele ocupa 4 bytes de memória ao trabalhar com um compilador de 32 bits.
Flutuador
Usado para armazenar frações de até 7 dígitos decimais. É conhecido como um tipo de ponto flutuante de precisão única. Ocupa 4 bytes de memória.
Caracteres
Ele é usado para armazenar um conjunto de todos os personagens. Pode incluir letras do alfabeto, números e também caracteres especiais. Ocupa 1 byte de memória, sendo a menor unidade endereçável de uma máquina.
Duplo
Usado para armazenar frações de até 15-16 dígitos decimais. É geralmente conhecido como um tipo de ponto flutuante de precisão dupla.
Vazio (Nulo)
Indica zero ou nenhum valor de retorno. Geralmente usado para atribuir o valor nulo ao declarar uma função.
Bool
Este tipo de dados se refere a um valor booleano ou lógico. Pode assumir o valor de verdadeiro ou falso.
- Secundário
Arranjos
É um conjunto de dados que possui o mesmo tipo de dados, acessado por um nome comum.
Ponteiros
Eles são basicamente variáveis que são usadas para armazenar o endereço de memória de outra variável.
Características
É um grupo de frases que realizam uma tarefa específica. As funções são bibliotecas internas ou definidas pelo usuário.
- Usuário definido
Estruturas
É um tipo de dado em que uma coleção de diferentes tipos de dados pode ser feita e acessada por meio de um objeto.
União
Oferece a capacidade de armazenar diferentes tipos de dados no mesmo local de memória.
Para que serve o C ++? Formulários
Formulários
Muitos aplicativos em sistemas Adobe são desenvolvidos em C ++, como Illustrator, Photoshop, Adobe Premiere e Image Ready.
Sistemas operacionais
C ++ é usado por todos os principais sistemas operacionais, como Linux, Windows e macOS, pois é uma linguagem de programação de baixo nível.
Compiladores
A maioria dos compiladores é escrita na linguagem C ++. Também compiladores usados para compilar outras linguagens, como C #, Java, etc.
Jogos
Serve para eliminar a complexidade dos jogos 3D, ajudando a otimizar recursos. Além disso, é compatível com a opção multiplayer em redes.
Navegadores da web
Permite uma execução e representação rápida dos gráficos, o que é fundamental para os usuários atuais, que demandam um conteúdo que possa aparecer rapidamente nos navegadores da web. C ++ foi usado para fazer os navegadores de Internet Google Chrome e Mozilla Firefox.
Internet das Coisas
Vários produtos da Internet das Coisas, como relógios inteligentes, carros, máquinas de lavar, roteadores e interruptores, usam C ++ porque exigem um código o mais próximo possível do hardware.
Nuvem / Sistemas Distribuídos
Ele é usado na nuvem em sistemas de armazenamento e sistemas distribuídos, onde os sistemas de arquivos escaláveis precisam trabalhar em estreita colaboração com o hardware e a compatibilidade com diferentes máquinas também é crítica.
Acesso a bancos de dados
É usado para desenvolver software de banco de dados de código aberto. Um software de administração de banco de dados muito popular usado em organizações, o MySQL, é escrito em C ++ graças aos benefícios que oferece.
Existem outros aplicativos baseados no acesso a software de banco de dados, que são Wikipedia, Yahoo, YouTube, Quora, etc.
Exemplos
Este programa recebe um número inteiro positivo do usuário e o armazena na variável n. Em seguida, o loop for é executado, o que verifica se o número inserido é perfeitamente divisível por i ou não.
O loop for começa com um valor inicial de i igual a 2, aumentando o valor de i a cada iteração. Se o número inserido pelo usuário for perfeitamente divisível por i, isPrime será definido como falso e o número não será um número primo.
No entanto, se o número não for perfeitamente divisível por i até que a condição de teste i <= n / 2 seja verdadeira, significa que ele só é divisível por 1 e esse mesmo número. Portanto, o número fornecido é um número primo.
Bibliotecas
Os desenvolvedores têm acesso a muitas funções integradas fornecidas pela linguagem C ++. Isso economiza tempo e acelera o desenvolvimento. Alguns dos arquivos de cabeçalho C ++ com as funcionalidades fornecidas são:
- iomanip: contém manipuladores de fluxo que formatam os fluxos de dados.
- iostream: contém funções de entrada e saída padrão.
- cstdlib: contém a função para converter números em texto e vice-versa,
- cmath: contém funções de biblioteca matemática, alocação de memória, números aleatórios e várias outras funções utilitárias.
- fstream: contém funções que realizam entrada e saída de arquivos no disco.
- ctime: contém a função para controlar a hora e a data.
- memória: contém classes e funções usadas pela Biblioteca Padrão C ++ para alocar memória.
Vantagem
Rapidez
Como C ++ é uma versão estendida de C, que é uma linguagem de programação de baixo nível, é uma das linguagens mais rápidas disponíveis. Isso o torna útil nas áreas em que o desempenho necessário é crítico.
Perto do hardware
C ++ é uma das linguagens de programação mais próximas do hardware. Isso é muito vantajoso naqueles espaços onde o software deve ter uma relação próxima com o hardware para executar com eficiência o suporte de baixo nível.
Eficiência
C ++ tem uma biblioteca padrão de modelos que podem ser amplamente usados durante a codificação. Essas bibliotecas fornecem algoritmos eficientes que permitem ao programador economizar tempo e esforço, que de outra forma seriam desperdiçados na criação de código.
Liberdade para escolher estilos de programação
C ++ oferece suporte a cerca de sete estilos diferentes de codificação, o que o torna uma linguagem de programação de vários modelos. Assim, você pode selecionar um estilo adequado a um caso de uso específico, sem ter que usar objetos.
Capacidade de analisar problemas complexos
C ++ pode resolver problemas complexos de forma intuitiva, criando objetos. Além disso, as funções C ++ permitem que você divida seu código em blocos de código que são claros, fáceis de entender e fáceis de testar e modificar.
Capacidade de detectar erros antes da execução
C ++ tem um tipo estático, o que significa que o compilador não faz suposições sobre o que o programador escreve. A vantagem é que o compilador pode detectar erros e falhas antes da execução, o que pode economizar tempo a longo prazo.
Desvantagens
Uso de ponteiros
Os ponteiros são um conceito relativamente difícil de entender e também consomem muita memória.O uso incorreto do ponteiro pode fazer com que o sistema trave ou tenha um comportamento anormal.
Um grande problema é quando os dados apontam os mesmos de dois pontos de partida diferentes, causando um problema significativo, gerando problemas confusos dentro da codificação.
Problemas de segurança
Embora a programação orientada a objetos forneça muita segurança aos dados que são manipulados, ainda existem alguns problemas de segurança devido à disponibilidade de funções amigáveis, variáveis globais e ponteiros.
Sem coletor de lixo
C ++ dá ao usuário o controle completo do gerenciamento da memória do computador. Ele não tem a função de um coletor de lixo para filtrar automaticamente os dados desnecessários e, portanto, não oferece suporte à alocação de memória dinâmica.
Ausência de um tópico
C ++ não oferece suporte a threads internos. O conceito de thread é relativamente novo em C ++, pois originalmente não existia. Agora o C ++ é capaz de oferecer suporte a funções lambda.
Programas compilados
Como uma linguagem compilada, os arquivos executáveis produzidos pelo compilador a partir do código-fonte não são portáveis e só serão executados na plataforma de destino (hardware mais sistema operacional) para a qual foram compilados ou em uma plataforma binária compatível.
Pode ser complexo
C ++ pode ser complexo, pois permite classes, que são funções com o mesmo nome. Portanto, um sistema de tratamento de símbolo deve ser usado. Além disso, é complexo para um programa de alto nível muito grande. C ++ é comumente usado para aplicativos específicos de plataforma.
Referências
- Simplilearn (2020). Programação C ++ para Iniciantes: História, Benefícios e Aplicações. Retirado de: simplilearn.com.
- Educba (2020). Usos de C ++ no mundo real. Retirado de: educba.com.
- Dmitrii Rassokhin (2020). A linguagem de programação C ++ em quiminformática e química computacional. Journal of Cheminformatics. Retirado de: jcheminf.biomedcentral.com.
- Edureka! (2020). Quais são os 10 principais recursos do C ++? Retirado de: edureka.co.
- Aman Goel (2020). Linguagem C ++: Recursos, usos, aplicativos e vantagens. Hack. Retirado de: hackr.io.
- Steemit (2020). C ++: Aprenda a codificar. História, vantagens e desvantagens da linguagem C ++. Retirado de: steemit.com.
- Data Flair (2019). Aprenda tipos de dados em C e C ++ com o exemplo em apenas 4 minutos. Retirado de: data-flair.training.