É normal precisar selecionar o mínimo e o máximo de um conjunto de dados, e a STL conta com funções específicas para determinar mínimos e máximos, alguns referem-se a valores discretos, outros a faixas de valores em containers.
(mais…)Categoria: Programação C/C++
As funções de permutações do STL são utilizadas para criar permutações de um conjunto de dados, ou seja exibir, uma a uma, todas as possibilidades de distribuição de dados. Pode ser muito útil em diversa aplicações.
(mais…)Muita gente usa namespace e não sabe exatamente nem por quê, nem como funciona. Namespaces é uma forma de isolar identificadores com contexto global, evitando o conflito de nomes. Assim podemos criar novos identificadores sem nenhuma preocupação se eles estão em uso por parte de outro trecho do código, ou por outra biblioteca.
(mais…)Uma das primeiras funções que a maioria aprende em C é printf, mas pouca gente sabe como definir uma função como printf, que recebe uma quantidade de argumentos que depende do primeiro argumento. Para isso existe um conjunto de funções declaradas no arquivo stdarg.h (ou cstdarg).
(mais…)A versão C++11 da linguagem C++ incluiu um novo conjunto de classes, funções e tipos para manipulação de tempo. O namespace std::chrono contém algumas ferramentas que trazem para a linguagem C++ o que até então somente estava disponível através do header <time.h> do C.
(mais…)Uma boa funcionalidade adicionada no C++11, a biblioteca std::ratio cria meios para expressar diferentes tipos de relação entre grandezas, facilitando a aritmética básica e a conversão entre elas, além de trazer um conjunto de instâncias padrão para facilitar as conversões mais básicas.
(mais…)Na linguagem C os arrays multidimensionais, ou matrizes, são alocadas como um único bloco de memória, independente de quantas dimensões tenha o array. Isso implica em algumas situações que pode facilitar o acesso a elementos individuais de forma mais rápida. Saber como os arrays funcionam auxiliam não só na otimização do código, como também na identificação e correção de falhas.
(mais…)Mais um post sobre STL Algorithms, semana passada foram dois posts referentes a assuntos complementares, hoje o post é sobre fazer pesquisa utilizando std::find e std::search.
(mais…)No post anterior falamos sobre std::for_each. Mas percebeu que não dá pra alterar o conteúdo do container dessa forma? A solução é o std::tranform. Vamos começar com um exemplo de como o for_each não funciona. Um programa para incrementar todos os elementos de um std::list:
(mais…)C++ tem várias opções de iteração. Desde o C++98 existe o algoritmo for_each disponível. Basicamente o que este algoritmo faz é executar uma função a todos os elementos contidos em um tipo iterável, tal como um std::vector, ou um std::map, dentre diversos outros.
(mais…)