헤더 파일에서 C 정의 배치: 일반적인 관행인가요?
C 프로그래밍 영역에서 클래스 배치는 선언과 정의는 논쟁을 불러일으켰습니다. 전통적으로 이러한 측면을 각각 포함 파일과 *.cpp 파일로 분리하는 것이 표준이었습니다. 그러나 동료는 현재의 모범 사례에서는 헤더 파일 내에 정의를 포함하도록 규정하고 있다고 주장합니다.
이러한 새로운 관용구의 확산을 평가하기 위해 C 개발에서 널리 사용되는 사용 패턴을 살펴보겠습니다.
기존 접근 방식: 선언과 정의 분리
수많은 C 개발자 포함 파일(.h)에서 클래스를 선언하고 .cpp 파일에서 해당 정의를 구현하는 기존 스타일을 고수합니다. 이 방식은 Modula-2와 Ada의 사양 파일과 본문 파일을 분리하는 것과 유사합니다.
장점:
헤더 전용 정의 : 대안
어떤 경우에는 특히 컴파일러를 향상시키기 위해 헤더 파일에 정의를 배치하는 것을 정당화할 수 있습니다. 인라인과 같은 최적화. 그러나 이 접근 방식을 채택하면 단점이 따릅니다.
헤더 전용 정의가 적합합니다
헤더 전용 정의가 정말 유리한 유일한 시나리오는 템플릿으로 작업할 때입니다. 최신 C 라이브러리는 헤더 전용 정의가 필요한 템플릿을 광범위하게 사용하는 경우가 많습니다.
결론:
모든 C 선언이 헤더 파일 내에 정의되어야 한다는 동료의 주장은 지원되지 않습니다. 일반적인 관행에 따라. 헤더 전용 정의에는 틈새 애플리케이션이 있지만 선언과 정의를 분리하는 확립된 접근 방식은 여전히 널리 받아들여지는 표준입니다.
위 내용은 C 클래스 정의를 헤더 파일에 배치해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!