헤더파일에서 class 전방선언 하는 이유가
.h를 #include로 포함하면 포함 당한 header에서 수정이
있을 시 컴파일 속도가 느리다는 거랑.

두 헤더가 서로를 포함하면 무한 include에 빠지는거 걱정해서 쓰는거 아닌가요?

그럼 표준 라이브러리는 상관 없으니 .h에 걍 포함시켜도 되지 않나요?
그리고 dll은 따로 컴파일 하니까, dll 쓸 때 .h파일에 포함시켜도 될 것 같은데요..

heap 메모리가 동적 메모리라고는 하지만 heap메모리 전체 공간이 동적으로 늘어나고 줄어드는게 아니라 크기가 정해져 있다고 알고 있어서요.

어차피 오브젝트의 주기가 끝나면 오브젝트의 멤버변수가 참조한 데이터는 다른 오브젝트의 멤버변수도 참조하는 데이터가 아닌 이상 다 해제해야 하는 것으로 아는데요..

그럼 같은 주소를 참조하는게 아닌 이상 그냥 stack에 만들도록
include를 쓰는게 좋지 않나요...? (아 이거 그냥 헛소리였네요. 포인터가 항상 heap 메모리만 참조하는게 아니니까요..)


컴파일 속도가 곧 실행 속도와 런타임 성능은 아닌니까..
어느정도 감수가 가능하다는 생각에 썼습니다.

- dc official App