헤더가드가 없다 해도 코드를 잘 보고 중복 정의를 막을수 있지않을까?
사실상 불가능 하다.
우리가 printf 사용시 #include <stdio.h>를 적을때
이 파일에 적으면 되나, 안되나 생각을 하고 적나?
아니다. 그냥 막 적는다.
donkey.h를 개발하던 개발자가
neigh 함수를 호출하기 위해 horse.h를 상단에 바로 적어버리지
#include “horse.h”를 적어야 하나, 말아야 하나. 고민을 해야 하나?
만일 파일이 여러개 라면,
어떤 파일은 include를 해야하고, 어떤 파일은 하지 말아야 하고..
어떤 파일은 막아야 하고, 순서를 고려해야 하고..
고민을 해야할까?