[C++]코딩연습장
C++ [분할컴파일]
KAU
2021. 2. 22. 17:37
#include <iostream>
using namespace std;
struct MyStruct
{
string name;
int age;
};
void display(MyStruct&);
int main() {
MyStruct PandaCoding = {
"Panda",
26,
};
display(PandaCoding);
return 0;
}
void display(MyStruct& a) {
cout << "이름 : " << a.name << endl;
cout << "나이 : " << a.age << endl;
}
#include <iostream>
using namespace std;
struct MyStruct
{
string name;
int age;
};
void display(MyStruct&);
위의 코드를 떼어내고 헤더 파일에 struct.h를 추가시켜서
include 시켜도 실행이 될까?
코드를 분할하면 코드를 재활용 가능하다.
볼륨이 크면 클 수록 관리하기 편하다.
헤더 파일을 여러 파일에 포함시킬 때
반드시 단 한 번만 포함시켜야 한다.
이러한 불상사를 막기 위해서 ifndef를 사용한다.
#ifndef STRUCT
#define STRUCT
#include <iostream>
using namespace std;
struct MyStruct
{
string name;
int age;
};
void dispaly(MyStruct&);
#endif
#ifndef에서 #endif 까지를 '기호 상수화' 시킴으로써
컴파일러가 나중에 중복해서 호출된 것들은 무시하게 하여
안전하게 코딩할 수 있다.