Considerada a quarta linguagem de programação mais popular do mundo, segundo o Índice Tiobe, a linguagem C++ é muito utilizada para o desenvolvimento de sistemas de alta performance, jogos, interfaces gráficas e no ensino sobre orientação a objetos na programação.
Ela foi desenvolvida por Bjarne Stroustrup em 1983 na empresa Nokia Bell Labs. Considerada como uma extensão da linguagem C por utilizar comandos e estruturas dessa linguagem, essa linguagem proporciona maior desempenho, fácil aprendizado, é open source e continua em constante melhorias em suas novas versões.
Vamos aprender mais sobre essa linguagem nos seguintes tópicos:
- O que é C++ e para que serve essa linguagem?
- Entenda a história do C++ e saiba como surgiu!
- Onde C++ é usado?
- C++ e a programação orientada a objetos
- Qual a diferença entre as linguagens C, C# e C++?
- Preciso aprender C para aprender C++ e C#?
- C++ vs Linguagens de alto nível
- Quais as vantagens e desvantagens do C++?
- Por que aprender C++? Vale a pena?
- Primeiros passos com C++: Instalação e primeiro arquivo!
O que é C++ e para que serve essa linguagem?
C++ é uma linguagem de programação open source orientada a objetos, utilizada tanto como linguagem de máquina quanto para softwares empresariais, acadêmicos, jogos, edição de imagens, fotos e vídeos.
Essas características permitem que ela seja considerada uma linguagem tanto de alto quanto de baixo nível, isso sendo possível pelas bibliotecas e funções que ela possui, o que permite que sistemas desenvolvidos nessa linguagem sejam de alto desempenho, estáveis e seguros.
Aprender a programar nessa linguagem é fácil, razão essa que torna essa linguagem ainda mais atrativa e amplamente utilizada desde a década de 80.
O que significa o símbolo “++”?
O símbolo “++” significa um acréscimo à linguagem C, utilizada como base para o desenvolvimento da linguagem C++. Esse símbolo foi utilizado na linguagem para demonstrar que determinados recursos da linguagem C estariam presentes nela, e novos recursos foram implementados, fazendo da nova linguagem uma das mais utilizadas ao longo do tempo.
Esse símbolo é uma referência ao operador incremental conhecido como “++”.
Entenda a história do C++ e saiba como surgiu!
A linguagem C++ foi desenvolvida em 1983 pelo dinamarquês Bjarne Stroustrup na empresa Nokia Bell Labs.
Surgiu como extensão da linguagem C, em que a diferença fundamental entre essas linguagens é o conceito de orientação a objetos, permitindo que a linguagem C++ apresentasse alto desempenho para aquela época.
O ano de 1985 foi marcado pelo seu lançamento comercial e do livro The C++ Programming Language.
Com o decorrer dos anos, novas versões foram lançadas, oferecendo funcionalidades e recursos performáticos, o que permitiu que essa linguagem continuasse se modernizando e se tornasse uma das linguagens mais utilizadas no mundo.
Onde C++ é usado?
C++ é usado para o desenvolvimento de sistemas embarcados, bibliotecas gráficas, jogos, sistemas operacionais, entre outros.
No ensino acadêmico, ela tem grande aceitação porque abrange as linguagens de alto e baixo nível e é open source.
As interfaces gráficas DirectX, OpenGL, SDL e Allegro a utilizam pelo desempenho e interação com a máquina.
Conheça algumas das empresas e sistemas que utilizam essa linguagem:
Software | Empresa |
Chromium | |
Photoshop e Acrobat Reader | Adobe |
MySQL | Oracle Corporation |
SQL Server | Microsoft |
Navegador Mozilla | Mozilla Foundation |
Winamp | Nullsoft |
SpaceX | NASA |
Word, Excel, Access, Power Point, Outlook | Microsoft |
C++ e a programação orientada a objetos
O conceito sobre programação orientada a objetos é baseado na definição e implementação de tipos de dados e as suas relações, resultado esse que chamamos de objetos. A linguagem de programação C++ utiliza bibliotecas de funções que auxiliam na criação e execução de funções que manipulam esses objetos.
As bibliotecas de funções são conjuntos de procedimentos desenvolvidos para realizarem tarefas específicas diretamente no software. Para utilizá-las, é necessário referenciá-las diretamente no módulo que fará uso desses recursos.
Conheça algumas dessas funções e suas respectivas bibliotecas:
Função | Biblioteca | Descrição |
inline | iostream.h | Inserir uma função em uma linha |
char | string.h | Declarar e inicializar uma variável |
ifstream | fstream.h | Leitura de arquivo |
sqrt | math.h | Operação de raiz quadrada |
bool | stdbool.h | Dados booleanos |
O que é o C++ Stack?
A linguagem C++ permite trabalhar com o conceito de pilha, utilizando o tipo de trabalho conhecido como LIFO. A biblioteca que fornece as funções específicas para acessar esses elementos é chamada de stack.
A biblioteca stack implementa o tipo de estrutura conhecido como pilha, onde os elementos são armazenados sequencialmente nessa estrutura. Para manipulá-los, deve-se respeitar o padrão LIFO, onde o último elemento inserido, será o primeiro a ser retirado da pilha.
Vamos conhecer um exemplo da implementação stack, utilizando o conceito de pilha:
#include <iostream>
#include <stack>
using namespace std;
int main() {
stack<int> stack;
stack.push(30);
stack.push(31);
stack.push(32);
stack.push(33);
stack.pop();
stack.pop();
while (!stack.empty())
{
cout << ' ' << stack.top();
stack.pop();
}
}
O resultado dessa operação será:
31 30
Entenda o que significa cada linha da implementação acima demonstrada:
- #include <iostream>: Biblioteca utilizada para declarar objetos que realizam o controle da leitura e da gravação dos fluxos estabelecidos no código.
- #include <stack>: Declaração da classe stack, utilizada para operações de pilha executadas no código.
- using namespace std: É utilizado para definir toda a estrutura contida neste namespace (espaço de nome), sendo: constantes, variáveis, funções e os fluxos de execução do código. Essa definição evita duplicidade de estruturas semelhantes contidas no mesmo projeto.
- int main(): Função utilizada para demonstrar o ponto de início de execução do programa.
- stack<int> stack: Declaração utilizada para a criação de um objeto do tipo pilha, que armazenará somente valores do tipo inteiro.
- stack.push: Função utilizada para inserir um determinado valor no objeto do tipo pilha, nesse caso, criado na linha anterior. No código acima, essa função inseriu os valores 30, 31, 32 e 33 no objeto chamado stack.
- stack.pop(): Função utilizada para remover o último elemento inserido no objeto do tipo pilha. No código acima, essa função removeu os valores 33 e 32.
- while: Recurso utilizado para a repetição de determinadas ações até que a condicional estabelecida neste recurso seja satisfatória. Importante considerar que este recurso utiliza os delimitadores de código chamados de chaves (“{ }”).
- while (!stack.empty()): Determina a execução das ações contidas neste laço de repetição, enquanto o objeto stack contenha valores.
- cout: Objeto utilizado para a impressão de dados em tela. Conhecido como stream de saída da linguagem C++.
- top(): Função utilizada para retornar o elemento superior da pilha, ou seja, como o conceito de pilha armazena os dados de baixo para cima, o código stack.top() irá informar os valores na ordem decrescente.
- cout << ‘ ‘ << stack.top(): Realiza a impressão em tela do valor atual da pilha.
- stack.pop(): Essa função vai remover, em sequência, o valor que foi impresso em tela.
- Os valores impressos em tela 31 e 30, são o resultado final do exemplo apresentado sobre a função stack em C++.
- Observe que no final de cada instrução de código, foi utilizado o delimitador de código chamado de ponto-e-vírgula (“;”), responsável por indicar o término de execução de cada função ou declaração de variáveis.
Qual a diferença entre as linguagens C, C# e C++?
A principais diferenças entre essas linguagens são:
- Linguagem C: linguagem estrutural, de baixo nível, alto desempenho e curva de aprendizado muito alto, utilizada em aplicações que interagem fortemente com o entendimento da máquina;
- Linguagem C++: linguagem orientada a objetos, não usa o garbage collector para gerenciar memória, utiliza comandos e estrutura base da linguagem C e curva de aprendizado baixo;
- Linguagem C#: linguagem orientada a objetos, alto desempenho, bibliotecas criadas pela Microsoft, desenvolvida com base no subset das linguagens C e C++ e curva de aprendizado baixo.
Preciso aprender C para aprender C++ e C#?
Aprender a linguagem C não é um precedente para começar a utilizar as linguagens C++ e C#, mas ela possui recursos, funções e estruturas, utilizados tanto em uma quanto na outra que facilitarão o seu aprendizado, saiba quais são:
- Linguagem C++: compartilha comandos, biblioteca e estrutura da linguagem C.
- Linguagem C#: desenvolvida com base no subset da linguagem C.
Se você quer aprender a desenvolver jogos, interfaces gráficas, e sistemas que trabalham mais perto da máquina, a linguagem C++ é mais indicada do que a linguagem C.
Para o desenvolvimento de softwares empresariais, APIs, dispositivos móveis, plataformas de Website, escolha a linguagem C#.
C++ vs Linguagens de alto nível
A linguagem de alto nível possui uma abstração mais próxima à linguagem humana, enquanto a linguagem de baixo nível possui características da linguagem de máquina.
Essa linguagem possui a flexibilidade de combinar abstrações que somente as linguagens de alto nível possuem e funcionalidades que são encontradas nas linguagens de baixo nível.
Com ela, você pode manipular bits, bytes e endereços, como também desenvolver software com base no paradigma de programação orientado a objetos.
Quais as vantagens e desvantagens do C++?
Vantagens
- Processamento rápido e performático;
- Utilizada para sistemas de alto desempenho;
- Linguagem open source;
- Curva de aprendizado baixo
Desvantagens
- Gerenciamento manual da memória, maior probabilidade de erros e comportamento não mapeados;
- Código complexo para desenvolvimento de grandes projetos;
- Garbage Collector manual, impactando no desempenho do programa.
Por que aprender C++? Vale a pena?
Aprender a linguagem C++ vale a pena, mesmo depois de 40 anos da sua criação. O motivo para isso é que ela continua sendo uma linguagem amplamente aplicada em softwares modernos e atuais, com vários materiais de estudos para você começar a aprender.
Por ser uma linguagem orientada a objetos e open source, é uma oportunidade para quem pretende aprender mais sobre esse paradigma.
Primeiros passos com C++: Instalação e primeiro arquivo!
O desenvolvimento de uma aplicação é realizada em ferramentas conhecidas como IDE, são softwares que oferecem diversas funcionalidades e recursos em uma única interface gráfica do usuário.
Para a linguagem, vamos demonstrar a instalação da IDE Code::Block e como criar o seu primeiro arquivo.
Instalando a IDE
- Faça o download do Code::Blocks;
- No instalador, clique no botão Next para iniciar o fluxo de instalação:
- Clique no botão I Agree para concordar com o Contrato de Licença, mesmo sendo uma IDE gratuita:
- As escolhas dos componentes já estarão selecionadas, clique no botão Next:
- Por último, clique no botão Install:
- O editor de código foi instalado com sucesso. Clique no botão Finish para começar a utilizar a ferramenta:
Criando o seu primeiro código em C++
- No término da instalação do editor de código, esta será a tela de apresentação.
Observe que o Code::Blocks, é composto de menus e barras dos ícones mais utilizados na ferramenta:
- Para criarmos o nosso primeiro código, vamos escolher uma nova página em branco. No menu, clique nas opções: File > New > Empty File:
- Nessa nova página em branco, vamos digitar a seguinte instrução de código em C++:
#include <iostream>
using namespace std;
int main() {
cout << "Meu primeiro código em C++";
return 0;
}
Entenda o que significa cada linha da implementação acima demonstrada:
- #include <iostream>: Biblioteca utilizada para declarar objetos que realizam o controle da leitura e da gravação dos fluxos estabelecidos no código.
- using namespace std: É utilizado para definir toda a estrutura contida neste namespace (espaço de nome), sendo: as constantes, variáveis, funções e os fluxos de execução do código. Essa definição evita duplicidade de estruturas semelhantes contidas no mesmo projeto.
- int main(): Função utilizada para demonstrar o ponto de início de execução do programa.
- cout << “Meu primeiro código em C++”: Essa instrução vai imprimir na tela a informação: “Meu primeiro código em C++”
- return 0: ponto final da execução do programa, retornando o valor zero para a função main().
- Para salvar o arquivo com o nome de example.cpp, acesse o menu e clique nas opções: File > Save File As:
- Agora chegamos no momento da execução do nosso programa, onde será validado se todas as instruções contidas em cada linha do program estão corretas. Acesse o menu e clique nas opções: Build > Build and Run:
- O resultado final será apresentado dessa forma:
Você aprendeu como é prático e fácil iniciar o aprendizado sobre C++.
Essa linguagem é utilizada tanto para quem deseja iniciar na programação, principalmente para aprender o conceito de orientação a objetos, quanto para pessoas desenvolvedoras que buscam aprimorar ainda mais os seus conhecimentos.
Se você gostou deste artigo, convidamos você para a leitura sobre Pair programming: como implementar a programação em par!