std::chrono::duration, , - :
#include <chrono>
#include <thread>
class UsesDuration
{
public:
UsesDuration( std::chrono::nanoseconds dur ) :
my_duration(dur) { }
void doSomethingPeriodic()
{
while( some_condition )
{
std::this_thread::sleep_for(my_duration);
somethingInteresting();
}
}
void somethingInteresting();
private:
std::chrono::nanoseconds my_duration;
};
int
main()
{
using namespace std::chrono_literals;
UsesDuration x{5min};
}
, . nanoseconds. - , , nanoseconds, , , , , .
, , double, :
#include <chrono>
#include <thread>
class UsesDuration
{
public:
UsesDuration( std::chrono::duration<double> dur ) :
my_duration(dur) { }
void doSomethingPeriodic()
{
while( some_condition )
{
std::this_thread::sleep_for(my_duration);
somethingInteresting();
}
}
void somethingInteresting();
private:
std::chrono::duration<double> my_duration;
};
int
main()
{
using namespace std::chrono_literals;
UsesDuration x{5min};
}
chrono::duration . . , ( , ).
. , double , .
double
- , . <chrono>. , , .
, , <chrono>, .
. " ++ - , " <chrono>. . , . ++ 03, <chrono>. : ( ), , .
<chrono> :
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2661.htm
duration ( ) - , , . , , . , , .
- :
https://www.youtube.com/watch?v=P32hvk8b13M