2010. 7. 8. 22:48

컴파일러에 암시 또는 힌트


컴파일러에게 힌트를 주는 행위
특징 : 중복되어도 에러가 나지 않는다. 현재 시점에서 그것이 존재한다고 가정하고 컴파일한다. 나중에 링크할때 결합하게 된다.

extern변수의 선언(정의 아님)
extern int g;

앞으로 나올 클래스다. 라고 힌트
class Test;

구조체도 마찬가지
struct Test;

단, 클래스(구조체)내부에 들어있는 클래스(구조체)는 위와 같은 방법으로 불가능하다. 현 시점으론 내포된 클래스(구조체)인지 모르기 때문이다.
class Test::ST; X

함수의 원형
void abc();

인라인함수는 힌트는 아니지만 중복된다고 해서 에러는 나지 않는다. 단.. 중복되었을 때 함수가 수정된 경우 영향이 있는 헤더의 인라인 함수를 추가하니 주의

같은 형식의 typedef는 힌트는 아니다. 다만 중복된다고 해서 에러는 나지 않는다. 단, 다른 심벌로 바꾸면 에러가 발생함(typedef int INT; 했다가 typedef int Int;등으로 바꾸면 에러)
typedef int INT;