0
헤더 파일에 구현 파일에 포함 된 모든 함수의 프로토 타입이 모두 들어 있다는 것을 알고 있습니다. 그러나 진정한 목적은 무엇입니까? 다른 프로그램이 클래스를 호출 할 때 헤더 파일의 정보 만 수신하고 구현이 숨겨져 있기 때문입니까? 이 진정한 목적은 무엇입니까?C++ 헤더 파일을 사용해야하는 이유는 무엇입니까?
헤더 파일에 구현 파일에 포함 된 모든 함수의 프로토 타입이 모두 들어 있다는 것을 알고 있습니다. 그러나 진정한 목적은 무엇입니까? 다른 프로그램이 클래스를 호출 할 때 헤더 파일의 정보 만 수신하고 구현이 숨겨져 있기 때문입니까? 이 진정한 목적은 무엇입니까?C++ 헤더 파일을 사용해야하는 이유는 무엇입니까?
누군가가 당신에게 도서관을 줄 때, 그들은 항상 당신에게 코드를 제공하지 않는다는 것입니다. 그리고 솔직히 당신은 그것에 대해 알고 싶지 않습니다. 헤더 파일에서 얻을 수있는 함수 프로토 타입 및 데이터 구조를 알아야합니다. 그런 다음 라이브러리에 링크합니다. 그것은이 있고 당신에게 (또는 .dll의 만약 .so를, .A 중요하지 않음)
을 나는 도서관 libfoo
를 게시 : 여기
라이브러리는 링크 될 때까지 참조되지 않으며 컴파일은 해당 시점에 이미 완료되었습니다.
헤더에는 구현 파일 외부에서 액세스 할 수있는 기능의 프로토 타입 만 포함해야합니다. 또한 이러한 기능을 사용하는 데 필요한 유형 정보도 들어 있습니다. 헤더 파일은 시스템을 함께 묶는 접착제입니다. 그들은 소비자와 생산자가 일치하도록 보장합니다. 또한 표준 기능 중 하나를 사용해야 할 때마다 표준 헤더에 모든 정보를 입력해야하므로 짜증이납니다. –
BTW, 나인 경우 그 스레드에서 다른 대답을 수락했을 것입니다. 나는 헤더 파일없이 프로젝트를 다시 컴파일하는 것을 상상조차 할 수 없다.) – raina77ow
@ raina77ow가 동의했다. 거기에 더 높은 레벨이있다. 그런 다음 정말로 IMHO가 왜 결과로 다시 컴파일 할 필요가 없는지에 대해 더 잘 설명한다. 속임수를 쓰지 않아도된다. 이번 주에이 정확한 질문에 대해 이것이 제 3의 것과 같다고 생각하십시오. – UpAndAdam