제가 빠르게 복기하기 좋게 정리한 글입니다. 파일을 추가하는 세세한 방법과 과정은 마지막에 첨부된 영상으로 확인하시면 좋을 것 같습니다 :) 강의목차의 번호와 같은 목차번호를 사용하고 있으니 참고하세요!
매우 긴 코드. 매우많은 함수가 있는 상황에서 main함수는 저 뒤에 있어 보이지도 않고 함수들만 보일 때, 함수를 저멀리 뒤로 보내고 main함수를 앞으로 불러오는 대신에 선언과 정의를 구분하여 코드를 정리할 수 있다.
1.10 선언과 정의 분리
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
#include <iostream>
using namespace std;
//forward declaration
int add(int a, int b);
int multiply(int a, int b);
int main()
{
cout << add(1, 2) << endl;
cout << multiply(1, 5) << endl;
return 0;
}
//definition
int add(int a, int b)
{
return a + b;
}
//definition
int multiply(int a, int b)
{
return a * b;
}
|
cs |
1. main함수를 제일 위로 올린다.
이 때 실행하면, 오류가 발생하는데, main함수에서 add함수를 찾을 수 없기 때문. 컴파일러는 위에서부터 차례로 읽기시작한다. main함수보다 밑에 있는 함수는 없는 것으로 인식하게 된다.
2. 이를 고려해 함수의 입출력 형태(prototype)만을 가져와 위에서 이러이러한 함수가 있음을 선언해준다.
그럼에도! 코드가 복잡해지고 길어졌을 때 파일을 쪼개야할 때가 있다.
# 파일쪼개기
이렇게 함수만을 따로 떼어내어 소스파일을 만들고 main함수 위에 함수선언을 통해서 다른파일의 함수를 활용할 수 있다.
사실, 이 방법 보다는 헤더파일을 만들어 #include하는 경우가 더 많다.
1.11 헤더파일 만들기
상황 : 복잡한 코드, 함수의 내용이 매우 길어 함수를 메인파일에 넣을 경우 가독성이 현저히 떨어는 상황
해결방법 : 비슷한 기능의 함수들을 따로 모아 하나의 (헤더)파일로서 빼두고 메인파일에서는 헤더파일을 이용해 함수들을 사용한다.
# 방법
함수를 담은 cpp파일을 추가로 만들고
선언문들을 담은 header파일을 만든다.
main.cpp파일로 돌아와서는 간단히 #include "add.h"을 추가하면 본문에서 함수이름을 불러와 쓸 수 있다.
현업에서는 가장먼저 함수몸체를 담은 cpp파일과 선언문을 담은 header파일을 만들어 놓고 시작한다고 한다.
출처)
홍정모의 따배씨++
www.youtube.com/playlist?list=PLNfg4W25Tapw5Yx4yuExHNybBIUk68aNzwww.youtube.com/watch?v=ctaMu3XplPI
좋은 강의에 너무나 감사하다.
이전에는 그냥 무작정 따라썼던 코드들을 한줄한줄 이해하며 공부할 수 있다.
언젠가 어느 언어든 자신감이 있는 코드마스터가 될 것이다.
데이터가 인간을 대신해 일을 하게하고
데이터를 제어해 로봇을 제어하고 싶다.
'아앙의 전설'에서 주인공은 물/불/흙/공기 원소를 자유자재로 다룬다.
수많은 데이터가 넘실대는 현대에서는 데이터를 자유자재로 다루는 프로그래머.
실력있는 프로그래머가 되기 위해서는 코드 한줄이 내부적으로 어떻게 작동되는지를 이해해야한다.
'기계공학부 시절의 기록 > C++일기' 카테고리의 다른 글
2.1 기본자료형 (0) | 2021.05.03 |
---|---|
1.12 ~ 1.13 헤더가드가 필요한 이유(LINK ERROR), Namespace (0) | 2021.05.03 |
삼항연산자, 보기 좋은 코드 (0) | 2021.05.02 |
1.7 지역범위(Local Scope) (0) | 2021.05.02 |
1.6 키워드와 식별자 (0) | 2021.05.02 |
댓글