Qué es Scope en C++
Cuando estamos desarrollando código, es muy importante saber cual es el alcance donde una variable puede utilizarse para que nuestro código funcione...
Concoe a fondo los principales usos de Chrono de C++ y cómo funciona con unos ejemplos prácticos,.
Tabla de contenidos
Te contamos cómo funciona la librería Chrono de C++ con unos ejemplos y también sus principales usos.
Chrono es una librería de cabecera de C++ con la que podemos trabajar con el tiempo. Podéis ver toda la información sobre ella en la página https://en.cppreference.com/w/cpp/chrono.
Vamos a ver un ejemplo de cómo utilizar esta cabecera Chrono.
#include <iostream>
#include <chrono>
int main()
{
auto start = std::chrono::system_clock::now();
auto end = std::chrono::system_clock::now();
std::chrono::duration<float,std::milli> duration = end - start;
std::cout << duration.count() << “s “ << std:endl;
getchar();
return = 0;
}
Si compilamos y ejecutamos este código, nos devolverá el tiempo que ha tardado en ejecutarse el mismo.
Para ver la utilidad real de esta librería de C++ vamos a ver otro ejemplo, en el que tenemos una función foo
, que lo que hace es imprimir por pantalla el texto “Openwebinars”, queremos saber lo que tarda en ejecutarse la función e imprimirse ese texto en pantalla cien veces.
#include <iostream>
#include <chrono>
void foo ()
{
for unsigned short i = 0; i < 100; ++i=;
std::cout << “Openwebinars” << std::endl;
}
int main()
{
auto start = std::chrono::system_clock::now();
foo();
auto end = std::chrono::system_clock::now();
std::chrono::duration<float,std::milli> duration = end - start;
std::cout << duration.count() << “s “ << std:endl;
getchar();
return = 0;
}
Al ejecutarlo vemos que imprime cien veces el texto correspondiente, y lo hace en 252,75 milisegundos.
Vamos a ver el mismo ejemplo pero realizado de otra forma diferente:
#include <iostream>
#include <chrono>
struct Timer
{
std::chrono::system_clock::time_point m_start;
Timer()
{
mstart = std:chrono::system_clock::now();
}
~Timer()
{
auto = end = std::chrono::system_clock::now();
std::chrono::duration<float, std::milli> duration = end - m_start;
std::cout << duration.cout() << std::endl;
}
}
void foo ()
{
Timer t;
for unsigned short i = 0; i < 100; ++i=;
std::cout << “Openwebinars” << std::endl;
}
int main()
{
foo();
getchar();
return = 0;
}
Al ejecutarlo vemos que realiza el mismo proceso pero en algo de menos tiempo, en este caso en 238.156 milisegundos.
El tiempo dependerá un poco del el sistema operativo en el que lo ejecutemos, si está ocupado o si el proceso en el que estamos ha ejecutado todos los ciclos de reloj que necesita. De hecho si lo ejecutamos más veces, vemos que el tiempo varía de una vez a otra.
También puede cambiar el tiempo que tarda en la ejecución si cambiamos algo en el código, y puede aumentar o disminuir.
Esta es la función básica de Chrono, y se puede utilizar en multitud de sitios, ya sea para eficiencia, para control de procesos, para control de hilos y cualquier cosa que podáis imaginar.
Por ejemplo, en videojuegos se puede utilizar para ver los gráficos o para saber cuánto tiempo ha pasado de un estado a otro, en este caso ejecutando una función que se irá actualizando para poder saber así el tiempo que ha pasado desde la última vez que se llamó a la misma.
Sigue aprendiendo a diseñar y asimilar patrones e interfaces para tus programas con este Curso de Patrones de diseño e interfaces en C++
Recuerda que puedes comenzar este curso con tu suscripción de OpenWebinars. Si todavía no estás suscrito, aprovecha para hacerlo ahora.
También te puede interesar
Cuando estamos desarrollando código, es muy importante saber cual es el alcance donde una variable puede utilizarse para que nuestro código funcione...
¿Quieres aprender a programar en C++? Con este curso de introducción aprenderás desde cero este lenguaje de programación...
Si están pensando en aprender a programar en C++, te contamos los motivos por los que aprender C++ como lenguaje de programación....