#include <iostream>
'#'은 전처리기이다. 전처리기는 컴파일을 시작하면, 우선적으로 처리한다.
#include <iostream>을 사용하면 'iostream'이라는 헤더 파일의 모든 내용을 복사해오도록 요청한다. 이렇게 하면 헤더 파일의 내용을 코드 파일에서 사용할 수 있다
<>는 컴파일러가 설치된 폴더에서 헤더파일을 찾음
"" 는 개발자가 지정해 놓은 경로
namespace
어떤 변수나 함수의 소속을 알려주는 기능
A.h , B.h (헤더 파일은 일반적으로 선언만 포함하므로 어떻게 구현되는지 정의하지는 않는다)
#ifndef PRINTA_H
#define PRINTA_H
namespace printA
{
void print();
}
#endif
A.cpp , B.cpp
#include <iostream>
#include "printA.h"
void printA::print()
{
std::cout << "A" << std::endl;
}
main
#include "printA.h"
#include "printB.h"
int main()
{
printA::print();
printB::print();
}
:: 는 C++에서 가장 우선순위가 높은 연산자로, 범위 지정 연산자
범위 지정 연산자(::)는 여러 범위에서 사용된 식별자(identifier)를 식별하고 구분하는데 사용
만약 using namespace를 사용하여 print함수를 사용하려할때
printA / printB 모두 print를 가지고있어 어떤 namespace에있는 print를 참조할지 컴파일러가 구별을 못함
그래서 namespace를 지양하고 범위 지정 연산자(::)를 지향 하는것
'프로그래밍 > C++' 카테고리의 다른 글
auto / template (0) | 2022.05.09 |
---|---|
표준 템플릿 라이브러리(STL) - vector 메모리/ iterator , 표준 라이브러리 - string (0) | 2022.05.03 |
this 포인터, 연산자 오버로딩 (0) | 2022.04.15 |
멤버 초기화 리스트, 이니셜라이저 (0) | 2022.04.13 |
const / constexpr / #define (0) | 2022.04.12 |