Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[C++] 헤더란? 그리고 헤더 선언부 #20

Open
ggjae opened this issue Oct 24, 2021 · 0 comments
Open

[C++] 헤더란? 그리고 헤더 선언부 #20

ggjae opened this issue Oct 24, 2021 · 0 comments

Comments

@ggjae
Copy link
Owner

ggjae commented Oct 24, 2021

왜 이런 line들이 필요할까?

#Pragma once

cpp파일에서 header만 include 시키면, 결국 user는 source code를 작성할 때, header를 포함할 때 어떤 cpp에 접근할 수 있을지 알 수 있는데 같은 헤더를 include시킬 수 있다.
중복되어 복사되는 것을 방지하는 기능을 하고, 낭비이자 심각한 충돌이 일어날 수 있으므로 pragma once를 사용한다.

#ifndef TEST
#define TEST
.
.
#endif

이런식으로도 header에 대한 전처리기를 만들 수 있다. pragma는 비주얼스투디오에 종속적이기 떄문에 이러한 방법으로도 사용한다는 것만 알아두면 좋겠다.

헤더는 왜 쓰는가?

컴파일러가 헤더 라인을 컴파일함으로써 헤더의 내용을 라인 시점에 복사한다.
add에 대한 함수를 add.h에 작성하고, #include <add.h>를 통해서 add함수를 사용하게끔 만들어 줌. 함수 관리나 공유가 편하니까 헤더를 사용한다. 재사용도 용이하잖아!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant