5 Dicas rápidas para C++

Mini guia de consulta rápida!


5 Dicas rápidas para C++

No cpp::daily de hoje vamos falar de assuntos corriqueiros que nos tomam tempo pesquisando na internet e muitas vezes encontramos soluções não tão boas para o que desejamos!

São 5 dicas, mas provavelmente teremos outras partes!


01. Imprimir o tipo de variável

Para saber qual o tipo de variável basta incluir o cabeçalho #include <typeinfo> usar o tydeid( var ).name(), exemplo:

#include <iostream>
#include <typeinfo>

int main(){
  auto a = 12;
  auto b = true;
  auto c = 'M';
  auto d = 3.14;
  std::cout << "Inteiro: " << typeid(a).name() << '\n';
  std::cout << "Bool: " << typeid(b).name() << '\n';
  std::cout << "Char: " << typeid(c).name() << '\n';
  std::cout << "Double: " << typeid(d).name() << '\n';
  return 0;
}

Lembrando que a saída será a inicial do nome do tipo, para esse exemplo ficará: i de int, d de double e assim por diante . Para alguns outros tipos você precisará filtrar a informação de saída.


02. Obter a resolução da sua tela

Sabemos obter isso via linha de comando, mas para usar 100% C++ basta incluir a lib #include <X11/Xlib.h>, nesse exemplo para X.org

#include <iostream>
#include <X11/Xlib.h>

int main(){
  Display * d = XOpenDisplay(NULL);
  Screen *  s = DefaultScreenOfDisplay(d);
  std::cout << "Altura/Height da resolução: " << s->height << '\n';
  std::cout << "Largura/Width da resolução: " << s->width << '\n';
  return 0;
}

Para compilar: g++ resolucao.cpp -lX11


03. Converter string para char

Se você pesquisar isso no Google vai ver muita solução complexa que vale aquele meme do Khaby Lame .

Mas isso pode ser feito de uma maneira bem simples:

std::string str = {"Lorem Ipsum"};
char * chr = &str[0];
std::cout << "A string str agora é char: " << chr << '\n';

04. Convertendo string para inteiros

Falando em converter, para converter tipos inteiros para string basta usar a própria STL, isso é muito útil quando estamos desenvolvendo aplicativos gráficos. Exemplos:

#include <iostream>

int main() {
  std::string str = {"30"};
  std::cout << "Para int: " << std::stoi( str ) + 6 << '\n';
  std::cout << "Para float: " << std::stof( str ) + 1.4f << '\n';
  std::cout << "Para double: " << std::stod( str ) + 1.89 << '\n';
  std::cout << "Para long int: " << std::stol( str ) * 273 << '\n';
  std::cout << "Para long long: " << std::stoll( str ) * 3500 << '\n';
  std::cout << "Para long double: " << std::stold( str ) * 189.53254 << '\n';
  return 0;
}

05. Removendo espaços em branco de uma string

A gente sabe quem muitas linguagens de programação possuem as funções ltrim()(remove espaços em branco da esquerda/início), rtrim()(remove espaços em branco da direita/fim) e trim()(remove espaços em branco da esquerda/início e da direita/fim) .

Se nós usarmos aquela solução default do algorithm , provavelmente iremos remover não somente da esquerda e da direita como entre as letras/caracteres também, exemplo:

#include <iostream>
#include <algorithm>

int main(){
  std::string str = " texto com espaços em branco ";
  str.erase(remove(str.begin(), str.end(), ' '), str.end());
  std::cout << "'" << str << "'" << '\n';
  return 0;
}

A saída será: 'textocomespaçosembranco'

Então para remover estilo trim() seria:

#include <iostream>
#include <algorithm>

int main() {
    std::string str = " texto com espaços em branco ";
    str.erase(str.begin()); // remove no início(esquerda)
    str.erase(str.end() -  1); // remove no fim(direita)
    std::cout << "'" << str << "'" << '\n';
    return 0;
}

A saída será: 'texto com espaços em branco'

Bem, melhor, né?!


Acompanhe o cpp::daily

Deseja aprender C++ e criar seus programas Gráficos e para Terminal com portabilidade para Linux e Windows?

Então se inscreva nos nossos Cursos de C++ Moderno . Você aprender criar:

Acesse o endereço:

https://terminalroot.com.br/cpp/ e saiba mais!


Links Úteis


cppdaily


Compartilhe


Nosso canal no Youtube

Inscreva-se


Marcos Oliveira

Marcos Oliveira

Desenvolvedor de software
https://github.com/terroo


Crie Aplicativos Gráficos para Linux e Windows com C++

Aprenda C++ Moderno e crie Games, Programas CLI, GUI e TUI de forma fácil.

Saiba Mais

Receba as novidades no seu e-mail!

Após cadastro e confirmação do e-mail, enviaremos semanalmente resumos e também sempre que houver novidades por aqui para que você mantenha-se atualizado!