인프런 커뮤니티 질문&답변

tndyd8282님의 프로필 이미지
tndyd8282

작성한 질문수

홍정모의 따라하며 배우는 C++

8.15 실행 시간 측정하기

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

작성

·

271

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
질문자

감사합니다.

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

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

답변 감사합니다. 

tndyd8282님의 프로필 이미지
tndyd8282

작성한 질문수

질문하기