• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

start_time 초기화 시점에 대한 질문 드립니다.

19.10.08 08:46 작성 조회수 195

1

제 질문의 가정은 ' start_time 은 class Timer의 멤버변수로, class 생성 시 초기화된다' 입니다. 

저의 질문은

std::chrono::time_point<clock_t> start_time = clock_t::now(); 

생성자가 아닌데도  class Timer 의 인스턴스 생성 시. 위의 멤버변수가 초기화 되나요?

또한 디버거로 찍을 경우 timer.elapsed(); 열에서 start_time이 보이며, 그 전에는 start_time 변수가 디버거에서 확인이 되지 않아 정확한 초기화 시점을 알기가 힘듭니다.

답변 2

·

답변을 작성해보세요.

2

8.4의 7분부터 설명해드린 문법인데 안보셨으면 먼저 보시는 것이 좋겠습니다. 생성자가 아닌데도 (non static) 멤버 변수를 그렇게 초기화하는 문법이라서 가능합니다. 예전에 반드시 생성자에서만 초기화할 수 있었던 시대도 있었습니다. 디버거로 확인하시려면 instance 생성 직후에 breakpoint를 걸어서 보시는 방법이 있겠네요.

0

tndyd8282님의 프로필

tndyd8282

질문자

2019.10.09

감사합니다.

8.4 강의를 들었었는데, 기본값이 상수에서 clock_t::now()  함수로 변경되면서 전혀 정체를 파악하지 못했었네요.  

디버거 찍어서도 확인하였습니다. 

답변 감사합니다.