time_point
time_point (시점)
특정 시계의 epoch 이후 경과 시간을 나타내는 시점 타입이에요. <chrono> 헤더, C++11부터.
출처: cppreference
본문
std::chrono::time_point는 특정 시계(clock)의 epoch 이후 경과한 기간으로 표현되는 시점이에요.
template< class Clock, class Duration = typename Clock::duration >
class time_point;
Clock: 이 시점의 기준이 되는 시계(예:system_clock,steady_clock).Duration: epoch로부터의 시간 간격(std::chrono::duration).
타입은 시계와 duration을 함께 담고 있어서, 서로 다른 시계의 time_point는 혼합할 수 없어요(타입 안전).
auto now = std::chrono::system_clock::now(); // time_point<system_clock>
auto d = now.time_since_epoch(); // epoch 이후 기간
연산:
time_point + duration → time_point(시점 이동)time_point - time_point → duration(경과 기간)- 비교 연산자(같은 시계)로 순서 판정.
duration_cast 같은 변환과 결합해 경과 시간을 구하는 데 자주 쓰여요. chrono 시간 모델의 핵심 타입 중 하나예요.