Medindo o tempo do seu código

Uma das facilidades do padrão para o C++ moderno é a presença de construções que permitem a manipulação de data e tempo. Estes utilitários podem ser encontrados na biblioteca chrono, como você poderá conferir em algumas referências e documentações que se encontram disponíveis, como por exemplo, as minhas favoritas: Documentação do Visual C++, Cplusplus.com e Cppreference.com.

Neste post, vamos focar somente nos utilitários de tempo. O que você pode fazer com eles? É possível saber, através de um de seus relógios (system_clock, steady_clock, high_resolution_clock), sobre um determinado ponto de referência no tempo, como por exemplo, o “agora” através da função estática now.

Continuar lendo

Anúncios

Range against the machine

Uma característica do C++ moderno é o range-based for. Antes de falar de qualquer teoria e para que fique mais claro, segue um exemplo:

O range-based for se baseia em intervalos e iteradores.

O que é um iterador em C++ ? Grosseiramente é um ponteiro que suporte aritmética de ponteiros (Ex: p++, p+=2, p2-p1, etc).

Um intervalo é um conjunto que contém duas extremidades como elementos, o inicial e o final. Em C++, um intervalo é semi-aberto a direita, contendo os iterators [begin, end)
Continuar lendo