Inflearn Community Q&A
start_time 초기화 시점에 대한 질문 드립니다.
Written on
·
318
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 변수가 디버거에서 확인이 되지 않아 정확한 초기화 시점을 알기가 힘듭니다.
Quiz
객체 지향 프로그래밍에서 클래스/객체의 주된 역할은 무엇일까요?
프로그램 실행 속도를 최적화하는 것
데이터를 처리하는 함수와 해당 데이터를 하나로 묶는 것
메모리 할당 및 해제를 자동화하는 것
다른 프로그래밍 언어로 코드를 변환하는 것
Answer 2
2
8.4의 7분부터 설명해드린 문법인데 안보셨으면 먼저 보시는 것이 좋겠습니다. 생성자가 아닌데도 (non static) 멤버 변수를 그렇게 초기화하는 문법이라서 가능합니다. 예전에 반드시 생성자에서만 초기화할 수 있었던 시대도 있었습니다. 디버거로 확인하시려면 instance 생성 직후에 breakpoint를 걸어서 보시는 방법이 있겠네요.
0
감사합니다.
8.4 강의를 들었었는데, 기본값이 상수에서 clock_t::now() 함수로 변경되면서 전혀 정체를 파악하지 못했었네요.
디버거 찍어서도 확인하였습니다.
답변 감사합니다.





