Lab C++

Codificação Eficiente

Não basta conhecer a sintaxe, é preciso conhecer a linguagem, saber a melhor forma de fazer.

Tags: STL

C++11: Métodos Modernos da std::string

No post de hoje vamos citar os novos métodos da std::string no C++11, alguns são muito bacanas e implementam funcionalidades populares em outras linguagens. Vamos avaliá-las conforme a versão em que estão disponível com exemplos.

(mais…)

std::pair x std::tuple

std::pair já existe há um bom tempo em C++, é a estrutura de dados que recupera os dados de um std::map através de iterators. Já std::tuple foi adicionado no C++11 e apesar de armazenar a mesma coisa é uma classe muito mais completa. Vamos conhecer a diferença entre os dois.

(mais…)

STL Algorithms: Embaralhando Containers com std::shuffle

Normalmente estudamos algoritmos para ordenar vetores, mas dificilmente para embaralhar. Apesar disso existem dois STL Algorithms para embaralhar containers não ordenados. Obviamente esses algoritmos não funcionam com containers ordenados, como std::map, std::set ou std::list, por exemplo, mas funciona muito bem com std::vector, ou mesmo arrays padrão C.

(mais…)

Smart Pointers para C++ – Weak Pointers

Smart Pointers foi um conceito adicionado no C++11 para reduzir os riscos inerentes ao desenvolvimento utilizando ponteiros, como por exemplo referência cíclica entre atributos. No post de hoje vamos aprender como os Weak Pointers podem resolver esse problema quando utilizando Shared Pointers.

(mais…)

Smart Pointers para C++ – Shared Pointers

Smart Pointers foi um conceito adicionado no C++11 para reduzir os riscos inerentes ao desenvolvimento utilizando ponteiros, como por exemplo liberar um objeto que ainda precisa ser utilizado. No post de hoje vamos falar sobre Shared Pointers.

(mais…)

Smart Pointers para C++ – Unique Pointer

Smart Pointers foi um conceito adicionado no C++11 para reduzir os riscos inerentes ao desenvolvimento utilizando ponteiros, como por exemplo vazamento de memória. No post de hoje vamos falar sobre Unique Pointers.

(mais…)

Templates em C++ – Parte 2: Classes Templates

No post anterior abordamos como fazer uma função template, neste post vamos verificar como implementar uma classe template.

(mais…)

Números Complexos com C++

Até o STL quem quisesse trabalhar com números complexos em C ou C++ teria que desenvolver sua própria biblioteca. Mas agora temos várias funções para manipulação de números complexos.

(mais…)

Threads em C++ – Parte 5: Async

std::async é uma função que constrói um std::future baseado em uma função, sem a necessidade de um std::promise, simplificando a utilização de processos assíncronos.

(mais…)

Threads em C++ – Parte 4: Introdução às Promises

Promises fazem parte das novas formas de gerenciar produção e consumo de dados entre threads, basicamente sincronizando a execução de uma thread de geração ou recuperação de dados, com a thread que consome esses mesmos dados.

(mais…)