steady_clock
구조체
조정되지 않으며 균일한 속도로 앞으로 이동하는 클록을 나타냅니다.
구문
struct steady_clock;
설명
A steady_clock
는 단조 시계입니다. 즉, 보고하는 시간만 앞으로 이동합니다. 호출에서 now
반환되는 값은 항상 다음 호출 now
에서 반환하는 값보다 작거나 같습니다.
A steady_clock
는 틱 사이의 시간이 일정하므로 시스템 클록을 사용하는 것보다 간격을 측정하는 것이 좋습니다. 시스템 시계는 벽시계 시간을 제공합니다. 벽시계 시간을 사용하여 경과 시간을 측정하는 문제는 시간 간격을 측정하는 동안 벽시계 시간이 수정될 수 있다는 것입니다. 네트워크를 통해 다른 클록과 동기화하고 일광 절약 시간제로 전환하여 수정할 수 있습니다. A steady_clock
는 이러한 조정의 대상이 아니므로 경과된 시간을 추적하는 것이 좋습니다.
high_resolution_clock
는 .에 대한 typedef입니다 steady_clock
. Windows에서 steady_clock
함수를 QueryPerformanceCounter
래핑합니다.
예시
#include <chrono>
#include <thread>
#include <iostream>
using namespace std::chrono;
int main()
{
auto begin = steady_clock::now();
std::this_thread::sleep_for(std::chrono::seconds(1));
auto end = steady_clock::now();
std::cout << "Elapsed seconds: "
<< duration_cast<seconds>(end - begin).count()
<< "s\n";
std::cout << "Elapsed milliseconds: "
<< duration_cast<milliseconds>(end - begin).count()
<< "ms\n";
std::cout << "Elapsed microseconds: "
<< duration_cast<microseconds>(end - begin).count()
<< "us\n";
std::cout << "Elapsed nanoseconds: "
<< duration_cast<nanoseconds>(end - begin).count()
<< " ns\n";
return 0;
}
Elapsed seconds: 1s
Elapsed milliseconds: 1007ms
Elapsed microseconds: 1007266us
Elapsed nanoseconds: 1007266700 ns
편의 유형 별칭
속성 | 설명 |
---|---|
steady_clock::duration |
Microsoft 구현에서는 동의어 nanoseconds 로 정의 duration<long long, nano> 됩니다. 수십억 초 단위로 측정된 시간을 나타냅니다. |
steady_clock::period |
Microsoft 구현에서는 동의어 nano 로 정의 std::ratio<1i64, 1000000000i64> 됩니다. 기간의 각 틱 사이의 시간(초 10억 초)을 나타냅니다. |
steady_clock::rep |
의 시계 틱 수를 나타내기 위해 long long Microsoft 구현에 사용되는 형식인 동의어입니다. steady_clock::duration |
steady_clock::time_point |
time_point<steady_clock> 의 동의어입니다. 이 클록의 경우를 time_point 나타내는 데 사용됩니다. |
공용 함수
함수 | 설명 |
---|---|
now |
현재 시간을 steady_clock 값으로 time_point 반환합니다. |
공용 상수
속성 | 설명 |
---|---|
steady_clock::is_steady |
true 입니다. steady_clock 은 지속입니다. 즉, 이 클록을 사용하여 이벤트 전 시간, 이벤트 후 시간을 가져와서 해당 시간 동안 클록이 조정되지 않으므로 이벤트 기간을 안정적으로 빼서 이벤트 기간을 가져올 수 있습니다. |
요구 사항
머리글: <chrono>
네임스페이스: std::chrono
참고 항목
<chrono>
file_clock class
high_resolution_clock
local_t
구조체
system_clock
구조체
tai_clock
클래스
utc_clock
클래스
헤더 파일 참조