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 시간 모델의 핵심 타입 중 하나예요.

더 알아보기 (Learn more)

cppreference