class X {
int i;
public:
X(int y): i(y) {}
};
X r(10);
int main() {
return 0;
}
그래서 우리는 전역 객체의 연구를 ++ 우리는 C에서 클래스가 있다고 가정. 내 질문은 전역 또는 정적 개체에 대한 생성자가 컴파일 타임에 또는 런타임에 호출되었을 때입니까? 프로그램 실행은 main 함수에서 시작하기 때문에. 그리고 나서 모든 전역 개체를 초기화해야합니다.
2
A
답변
5
물론 컴파일 할 때 아닙니다. 실행시에 main
이 들어가기 전에 호출됩니다. 모든 전역 변수와 통계 (메소드 범위 통계 제외)가 초기화됩니다.
+0
하지만 실행은 main()에서 시작되므로 어떻게 main에 들어가기 전에 초기화 될 수 있습니까? – Luv
+2
@Luv 아니, 그렇지 않아. 'main'은 진입 점이며 런타임에 호출됩니다. 그러나 이것이 제일 먼저 부르는 것은 아닙니다. –
관련 문제
- 1. 스레드 생성자가 호출 될 때 Segfault
- 2. SpringMVC 생성자가 호출 될 때 세션 범위에서 빈을 얻는 방법
- 3. 변수가 변경 될 때 호출 될 후크
- 4. 생성자가 컴포지션 호출
- 5. SQLiteOpenHelper, onCreate가 호출 될 때
- 6. textFieldShouldReturn이 호출 될 때 popViewController?
- 7. 항목이 목록 상자에 추가 될 때 호출 될 이벤트 처리기
- 8. dealloc에서 super가 호출 될 때 중요합니까?
- 9. 모델의 메소드가 호출 될 때 인식되지 않습니다.
- 10. 클래스가 Java로로드 될 때 메소드 호출
- 11. alertbox가 호출 될 때 BACKKEY를 비활성화하는 방법
- 12. 스크립트가 종료 될 때 함수 호출
- 13. 서블릿이 호출 될 때 no 전달
- 14. Python XMLParser : data() 메서드가 호출 될 때
- 15. 속성이 호출 될 때 객체를 자동으로 만듭니다.
- 16. SelectedIndexChanged가 호출 될 때 Gridview가 비어 있습니다.
- 17. ValueChangeListener가 호출 될 때 f : param 보내기
- 18. webViewDidStartLoad가 호출 될 때 URL 가져 오기?
- 19. Invlpg 명령이 호출 될 때 Segfault가 발생했습니다.
- 20. 함수가 호출 될 때 트리거 이벤트
- 21. Objective C - 메서드가 호출 될 때 알림을받습니다.
- 22. 함수가 여러 번 호출 될 때 clearTimeout
- 23. WebView가 변경 될 때 호출 기능
- 24. 치료 : 스파이더가 종료 될 때 함수 호출
- 25. href가 호출 될 때 앵커 태그 식별
- 26. float가 호출 될 때 정수 전달
- 27. 처리기가 호출 될 때 애니메이션이 멈추지 않습니다.
- 28. nsmutablearray가 호출 될 때 객체를 추가하지 않음
- 29. lib 디렉토리에서 세터가 레일에 호출 될 때
- 30. 변수가 변경 될 때 함수 호출
생성자와 메인에 중단 점을 넣고 찾아냅니다. – IronMensan