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 longMicrosoft 구현에 사용되는 형식인 동의어입니다. 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 클래스
헤더 파일 참조