C ++ calculando intervalos de tiempo

Quiero calcular los intervalos de tiempo (en 1/10 de 1 segundo) entre algunos eventos que ocurren en mi programa. Asi usoclock Funciona para estas necesidades como sigue:

    clock_t begin;
    clock_t now;
    clock_t diff;

    begin = clock();

    while ( 1 )
    {
        now = clock();
        diff = now - begin;
        cout << diff / CLOCKS_PER_SEC << "\n";
        //usleep ( 1000000 );
    };

Espero que el programa se imprima.0&nbsp;durante 1 segundo, entonces1&nbsp;durante 1 seg., entonces2&nbsp;durante 1 seg. y así sucesivamente ... De hecho se imprime0&nbsp;durante unos 8 segundos, entonces1&nbsp;Durante unos 8 segundos y así sucesivamente ...

Por cierto, si agregousleep&nbsp;para que el programa imprima solo 1 vez por segundo, imprime solo0&nbsp;todo el tiempo ...

¡Muchas gracias por la ayuda!