chrono 예제

time_point는 클럭이 정의된 시계가 시작된 이후 경과된 시간을 나타냅니다. 예를 들어 time_point system_clock이 시작된 이후의 기간을 기록합니다. 이렇게 초기화할 수 있습니다: 그래서 우리는 C#의 System.TimeSpan이 제공하는 것과 같은 강력한 형식의 시간 값을 가지고 있습니다. C++의 세계에서는 많은 라이브러리와 프레임워크에 고유한 시간 유형이 있습니다. 예를 들어 SFML에는 sf:시간 및 sf:Clock이 있습니다. sf:Clock:getElapsedTime sf::Time을 반환하며, sf:Time의 다른 인스턴스에서 비교, 추가 및 뺄 수 있습니다. 그런 다음 해당 값을 초(float), 밀리초(int32) 또는 마이크로초(int64)로 제공할 수 있습니다. 크로노 라이브러리는 날짜와 시간을 처리하는 데 사용됩니다. 이 라이브러리는 타이머와 시계가 다른 시스템에서 다를 수 있으므로 시간이 지남에 따라 정밀도면에서 개선될 수 있다는 사실을 다루기 위해 고안되었습니다. 크로노의 독특한 점은 특정 시계에서 지속 시간과 시간(„시간점”)을 분리하여 정밀 중립적개념을 제공한다는 것입니다.

intmax_t는 서명된 정수 형식의 모든 값을 나타내는 서명된 정수 형식을 지정합니다. 또는 이상 64비트로 정의됩니다. 분자와 분모는 모두 공용이며 자동으로 가장 낮은 용어로 줄어듭니다. 예: 미리 정의된 비율을 통해 크거나 매우 작은 숫자를 지정하는 것이 더 편리합니다(표 5.20 참조). 이를 통해 불편하고 오류가 발생하기 쉬운 0 개 목록없이 큰 숫자를 지정할 수 있습니다. 예를 들어 C++11 이후 C++ 표준 라이브러리는 컴파일 타임 분수를 지정하고 컴파일 타임 산술 연산을 수행하는 인터페이스를 제공합니다. [N2661:Chrono](사소한 수정 포함):26 기간 개체는 1분, 2시간 또는 10밀리초와 같은 개수로 시간 범위를 표현합니다. 예를 들어 „42초”는 1초 시간 단위의 42틱으로 구성된 지속 시간으로 나타낼 수 있습니다. 이들은 크로노가 소수를 제공하는 멋진 작은 것들입니다. 예를 들어, s 리터럴은 피연산을 기간 또는 duration로 바꿔 나노초를 지정하는 것이 더 편리합니다(섹션 5.7.2, 페이지 145 참조). „선택 사항”으로 표시된 단위는 intmax_t.

Table 5.19에서 나타낼 수 있는 경우에만 정의되며 비율 유형에 대해 정의된 컴파일 타임 작업이 나열됩니다. 네 가지 기본 산술 컴파일 타임 연산 +, -, *, 및 /는 ratio_add, ratio_빼기, ratio_multiply 및 ratio_divide로 정의됩니다. 결과 형식은 비율이므로 정적 멤버 형식은 해당 형식을 생성합니다. 예를 들어 다음 식은 std::ratio (계산됨): 이 예제에서는 함수 호출의 실행 시간에 대한 정보를 표시합니다. 예를 들어 시계는 1996년 2월 22일의 시보를 가지며 매초씩 틱할 수 있습니다. C++는 세 가지 클럭 유형을 정의합니다. 모든 기계가 초당 1000 개 이상의 작업을 명확하게 수행 할 수 있지만 1 ms에서 한계를 치고 있습니다. 다음은 예를 들자면 클래스 비율은 컴파일 타임에 0과 오버플로로 나누기와 같은 모든 오류를 catch합니다.

Bez kategorii