선언과 정의
반응형
추가적인 상항으로 선언과 정의에 대해..
선언 : 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.