728x90
C++ 전방 선언 :: Gyong (tistory.com)
코딩맛집 :: [C++] 전방선언 (Forward Declaration) (tistory.com)
C++ 전방선언 (Forward Declaration)
식별자를 정의하기 전 식별자의 존재를 컴파일러에 미리 알리는 것
필요에 따라 함수, 변수, 클래스 등을 전방선언한다.
C++에서 미리 함수를 정의하지 않으면 순차적으로 코드를 읽어들여 오류를 발생시킨다. (식별자 찾을 수 없음)
그러나 전방선언이 이뤄졌다면 컴파일러는 오류 없이 지나간다.
장점: 컴파일 시간을 단축시킨다.
헤더포함 의존성을 줄여준다.
include와 전방 선언의 차이점
include
-> 기존에 존재하는 정보를 확인할 수 있다.
전방 선언
-> 어딘가에 존재한다는 것을 알 수 있지만 상세한 정보는 알 수 없다.
전방 선언 시 주의 사항
#1. 존재만 알려준다.
-> 프로그램에서 전방 선언한 것이 존재하는지 검사를 하지 않는다.
-> 오타가 발생할 경우 찾기 힘들다.
#2. 존재만 알기 때문에 객체를 만들 수 없다.
-> 단, 포인터형으로는 사용이 가능하다
#3. 객체의 멤버 함수를 사용하는 곳은 .cpp파일이다.
-> .cpp파일에서는 include를 해주어야 한다.
728x90
'CS > C++' 카테고리의 다른 글
스마트포인터 / 사이클 해결 방법 (1) | 2023.12.08 |
---|---|
버퍼 오버플로우 (0) | 2023.12.08 |
함수 호출 stack frame 관련 (1) | 2023.12.08 |
부모클래스 소멸자를 virtual로 만들지 않으면? (1) | 2023.12.08 |
[C++]Vector와 List의 차이점 (0) | 2023.10.01 |