Study/C++
선언과 정의
붕대마음
2010. 7. 8. 16:46
반응형
추가적인 상항으로 선언과 정의에 대해..
선언 : 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 없는 선언이 정의.