Comment obtenir la précision de high_resolution_clock?

C++11 définit high_resolution_clock et il a le membre types period et rep. Mais je n'arrive pas à comprendre comment je peux obtenir le précision de l'horloge.

Ou, si je ne peut pas arriver à la précision, je peux en quelque sorte au moins obtenir un décompte en nanosecondes de la minimum représentable durée entre les tiques? probablement à l'aide de period?

#include <iostream>
#include <chrono>
void printPrec() {
    std::chrono::high_resolution_clock::rep x = 1;
    //this is not the correct way to initialize 'period':
    //high_resolution_clock::period y = 1;

    std::cout << "The smallest period is "
              << /* what to do with 'x' or 'y' here? */
              << " nanos\n";
}
  • Vous êtes à la recherche pour std::ratio ?
  • en partie, mais comment à partir de là?
  • std::ratio est essentiellement une compilation valeur utilisée pour la compilation de l'arithmétique. Il n'a pas de membres de l'instance, seulement statique constexpr membres, de sorte 'initialisation' un ratio n'a pas de sens. Vous pouvez faire des choses comme std::ratio_less_equal<std::milli,std::high_resolution_clock::period>::value qui sera true si l'horloge de la période est inférieure ou égale à un millième de seconde.
InformationsquelleAutor towi | 2011-12-05