Design Patterns, ou Padrões de Projeto, são soluções gerais para problemas comuns de desenvolvimento de software, apesar de controversas são considerados um conjunto de melhores práticas. Um desses padrões é o Singleton, utilizado para garantir que somente haverá uma instância dessa classe no programa todo, sem impactar na facilidade de acesso a essa instância.
(mais…)Tags: c++
No post anterior abordamos como fazer uma função template, neste post vamos verificar como implementar uma classe template.
(mais…)Templates vieram para flexibilizar a tipagem forte da linguagem C++ sem a utilização de tipos neutros, como void, comum em C++. Neste post vamos aprender como implementar uma função com templates.
(mais…)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…)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…)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…)Desde o C é comum utilizar macros para funções genéricas que podem executar a mesma operação em diversos tipos. Macros como MAX, MIN, AVG (média), dentre outros. Com C++11 é possível implementar juntamente com templates e inferência de tipo com typeinfo funcionalidades bem mais complexas.
(mais…)[] () { };
O trecho de código acima é válido para C++11, trata-se de uma função anônima, ou função lambda, e vamos entender melhor como funciona no post de hoje.
(mais…)A inferência de tipo foi adicionada na versão C++11 através da palavra reservada auto. Através da inferência de tipo é possível deixar que o tipo da variável seja determinada em tempo de compilação conforme a sua inicialização.
(mais…)Em C++ é possível avaliar o tipo em tempo de execução, o que pode ser muito útil quando estamos falando de abstração e derivação de classes. Com a função type_id e classe type_info é possível obter informações sobre um tipo, classe, variável ou objetos.
(mais…)