뚜둔뚜둔✩

판다의 개발일지

C++ 13

[C(++)] Header Guard (헤더 가드) Coding

HTML 삽입 미리보기할 수 없는 소스 .h 헤더 파일은 다른 .c나 .cpp 파일에 의해 include 되는 파일로, 여러 파일에서 공통적으로 사용되는 함수 정의 및 매크로, 구조체 등이 정의된 파일이다. #include 헤더 파일에는 1) 개발자가 직접 작성한 .h 헤더 파일과 2) 컴파일러가 제공하는 헤더 파일, 이렇게 2가지 종류가 있다. 종류에 따라 #include 전처리기를 선언하는 방법이 다음과 같이 달라진다. 1) 직접 작성 헤더 파일 #include "header_file" 2) 시스템 헤더 파일 #include 그렇다면 이 #include 전처리기는 어떤 동작을 하는지 살펴보자. 특정 파일에 #include 전처리기로 헤더 파일을 include 하는 것은 해당 파일에 헤더 파일 내용을 ..

C · C++ 2022.02.05

[C++] namespace 사용 및 특징

Namespace 사용(접근) 일반적으로, namespace 안 identifer 접근에는 범위 확인 연산자가 사용된다. [C++] 범위 확인 연산자 (::) Scope Resolution Operator 범위 확인 연산자 :: 은 특정 namespace에 포함되는 identifer 접근에 사용된다. namespace foo { void init(void) { } // ① } namespace goo { void init(void) { } // ② } void ini.. pandas-are-bears.tistory.com 예를 들어, foo라는 namespace 안 check라는 이름의 함수를 호출하려면 다음과 같은 코드 작성이 필요하다. int main(void) { foo::check(); } 이 c..

C · C++ 2021.12.18

[C++] 범위 확인 연산자 (::)

Scope Resolution Operator 범위 확인 연산자 ::은 특정 namespace에 포함되는 identifer 접근에 사용된다. namespace foo { void init(void) { }// ① } namespace goo { void init(void) { }// ② } void init(void) { }// ③ 앞선 글에서 설명했듯이, 각 ① ② ③ 함수는 모두 같은 이름을 갖지만 서로 각기 다른 namespace 안에 정의된 함수이다. [C++] namespace 변수나 함수, 구조체 등에 사용되는 이름은 해당 요소를 지정하는 identifier이다. Identifier의 역할을 수행하려면 각 이름은 unique 해야 하는데.. 프로그램의 규모가 커 많은 함수가 포함될수록, 또 p..

C · C++ 2021.12.15

[C++] namespace

변수나 함수, 구조체 등에 사용되는 이름은 해당 요소를 지정하는 identifier이다. Identifier의 역할을 수행하려면 각 이름은 unique 해야 하는데.. 프로그램의 규모가 커 많은 함수가 포함될수록, 또 많은 library를 포함할수록 개발자가 사용하려는 이름이 이미 선언된 identifier와 충돌할 가능성이 높아진다. C 언어에서는 어쩔 수 없이 최대한 unique 한 identifier를 개발자가 쥐어짜 내어야 하지만 C++은 namespace 문법을 도입하여 이러한 이름 충돌 문제를 해결하였다. namespace foo { void init(void) { }// ① } namespace goo { void init(void) { }// ② } void init(void) { }// ..

C · C++ 2021.12.15