선언과 정의

반응형

추가적인 상항으로 선언정의에 대해..
선언 : c++가 그 이름을 c++영역에 도입하거나 재도입 한다는 뜻.
         이러한 도입시에는 항상 그 이름의 부분분류가 포함되지만 세부사항이 꼭 필요하진 않다.
         ex)
              class c:                         c를 클래스로 선언
              void f(int p);                    f()를 p라는 파라미터를 갖는 함수로 선언
              extern int v;                    v를 변수로 선언
              goto create_fail;              이름을 갖긴 하지만 c++에서 선언으로 간주되지는 않는다.
              #define DATAPATH "d:"   이름을 갖긴 하지만 c++에서 선언으로 간주되지는 않는다.

         위의 예를 보면 매크로와 goto라벨은 이름을 갖긴 하지만 c++에서 선언으로 간주되지는 않는다.

정의 : 그 구조의 세부사항이 알려지거나 변수라면 저장공간이 할당될 때에 선언은 정의로 바뀐다.
         클래스나 함수인 경우 중괄호로 둘러싸인 몸체가 제공되어야 하고, 변수의 경우 초기화나 extern 없는 선언이 정의.

'Study > C++' 카테고리의 다른 글

Virtual inheritance  (0) 2010.07.29
vswprintf_s 사용법  (0) 2010.07.08
warning C4251  (0) 2010.06.26
참조카운팅 + 스마트포인터 템플릿  (0) 2010.06.16
compile time assertion  (0) 2010.06.10
TAGS.

Comments