質問: queryperformancecounterの使用方法 私は最近、timerクラスでミリ秒からマイクロ秒に変更する必要があると判断しました。いくつかの調査の後、queryperformancecounterがおそらく最も安全な方法であると判断しました。 (boost::posixでの警告は、win32 apiで動作しない可能性があるということで、私は少し先送りされました)。しかし、私はそれを実装する方法が本当によくわかりません。私がやっていることは、使用しているgetticks() esque関数を呼び出して、それをtimerのstartingticks変数に割り当てることです。次に、経過した時間を見つけるために、関数の戻り値をstartingticksから減算し、タイマーをリセットするときに関数を再度呼び出して、startingticksを割り当てます。残念ながら、私が見たコードから、それはqueryperformancecounter()を呼び出すほど単純ではなく、引数として何を渡すべきかわかりません。
回答: あなたがwindowsにいると仮定すると(そうであればあなたの質問にタグを付ける必要があります!)、 このmsdnページ で、必要なシステムコールをラップするシンプルで便利なhrtimer c++クラスのソースを見つけることができます必要なものに非常に近いものを実行します(特にgetticks()メソッドを追加すると、特にexactly必要なものを追加できます)。windows以外のプラットフォームでは、queryperformancecounter関数がないため、ソリューションは直接移植できません。ただし、上記のhrtimerなどのクラスでラップすると、現在のプラットフォームが実際に提供できるものを使用するようにクラスの実装を変更するのが簡単になります(おそらくboost経由など)。