변수 / 분할구현

2022. 11. 25. 13:33개인공부/C++

 

Data 영역 메인함수 밖에서  사용하는 메모리영역 

 특징으로는 프록그램 시작시 생성 종료시 해제된다.

 

분할구현

헤더랑 파일을 구현

해더파일을 생성하고 함수를 선언한다.

다음 cpp파일을 생성하고 아까 구현하지않은 함수를 구현한다.

#include "func.h" 로 해더파일을 불러오는데 이 방법은 복사 붙여넣기이다.

이런 방법으로 분할구현을 하였다.

 

분할구현을 하는이유?

코드를 손쉽게 관리할 수 있기 때문이다.

분할 구현을 하지않으면 현재 공부하는 내용에서는 코드가 복잡하지 않고 짧지만

실제로 게임구현할때는 한개의 파일에  모든 기능을 집어넣으면 복잡하고 가독성이 좋지않고 

구현해둔 함수를 사용할때에도 분할구현을 해두면 편리하게 헤더참조를 통해서 사용할 수 있기 때문이다. 

* 하지만 하나의 파일에서 모든기능을 구현하는쪽이 속도는 빠르다. 

그후 메인파일에서 "func.h" 파일을 불러와서 함수를 불러왔다.

컴파일 결과 i에 값이 잘 들어간 것을 확인할 수 있었는데 함수는 func.cpp에서 선언되었는데

어떤방식으로 main함수에 와서 작동하는지는 링크 단계에서 가능하다고 하셨지만

아직 cpp 컴파일 작동 순서에대한 이해가 부족하여서 이쪽으로는 공부가 더 필요하다.

 

분할구현의 문제점

 

이 과정에서 헤더파일에 왜 함수를 바로 구현하지 않는지?

헤더파일은 복사 붙여넣기 과정으로 만약 헤더파일에 함수를 구현하면 만약 파일이 2개이상일때 똑같은 함수가 두번 선언되어  컴파일 오류를 발생시키기 때문이다.

이런식으로 두번 정의했기 때문에 빌드에 실패한다.

 

 

'개인공부 > C++' 카테고리의 다른 글

포인터 변수 / 포인터 배열  (0) 2022.11.27
변수  (0) 2022.11.26
배열 , 구조체  (0) 2022.11.25
재귀 함수 (1)  (0) 2022.11.24
함수로 Factorial 구현  (0) 2022.11.23