컴퓨터 언어/C++

[C++] C++ 3일차 표준 입 출력 : Namespace

훈츠 2020. 4. 1. 15:07
반응형

안녕하세요. 훈츠입니다. 금일은 C++ 표준 입출력 라이브러리 클래스 헤더와 namespace 에대해 포스팅 해보겠습니다. 

표준 입출력 라이브러리 클래스 헤더와 namespace

  • header : iostream (C 언어의 <stdio.h> 같은 head file의 라이브러리)
  • namespace : std 

namespace

C++ 언어는 심볼(변수, 함수, 클래스)를 굉장히 많이 제공해주기 때문에, 충돌 방지를 위해서 namespace 라는 기능을 제공 합니다.

  • :: (스코프 연산자)
    • 범위 확정 연산자이며 보통 스코프 연산자라고 합니다. the scope-resolution operator
#include <iostream>
namespace X
{
	int a;
	int b;
}

namespace Y
{
	int a;
	int b;
}

int main()
{
	X::a = 10;
	X::b = 20;

	Y::a = 30;
	Y::b = 40;

	printf("X::a:%d, X::b:%d\n", X::a, X::b);
	printf("Y::a:%d, Y::b:%d\n", Y::a, Y::b);
}

#include <iostream>
//상단에 함수의 몸체와 내용까지 한번에 코딩
namespace Sum
{
	int Add(int a, int b) {
		printf("sum :%d\n", a + b);
		return a + b;
	}
}
//상단에 함수의 몸체만 선언
namespace S
{
	int Add(int a, int b);
}

int main()
{
	Sum::Add(10, 20);
	printf("S합 %d\n",S::Add(3, 4));
}
//하단에 함수 몸체 선언 
namespace S
{
	int Add(int a, int b) {
		return a + b + 3;
	}
}

 

반응형