Depende un poco de cuanto tiempo quieras medir (milisegundos u horas).
Si es un tiempo grande (varios segundos), la funcion time() te da la hora actual en segundos. Basta con llamar a time() al empezar el programa, a time() al acabar y restar ambos resultados.
Desde un sistema unix/linux puedes llamar al ejecutable con time delante, y eso te dará el tiempo real, de cpu, etc, etc, de la ejecución.
Si quieres tiempos más pequeños (milisegundos o un par de segundos), hay funciones que te dan ticks de reloj de cpu (clock() o similar, dependen del compilador que uses). Cada tick de reloj dura un tiempo que depende de tu cpu y demás. Tendrás que buscarte la información para tu compilador concreto.
También los compiladores decentes suelen llevar herramientas llamdas profilers, que ayudan a la medición de tiempos de ejecución. Se que en su dia el Borland C++, por ejemplo, llevaba una. Me extrañaría que visual c++ no la tuviera y en linux la tienes también disponible.
Se bueno.