[C++] 38. namespace

2022. 6. 27. 21:47코딩 1막 <C++개념편>

728x90
// namespace //
// '공간의 분리'를 의미한다.
// 함수의 명이 겹치거나 변수의 명이 겹칠때 에러발생
// 작업자들이 겹치지 않도록 만든 개념
// 최근 동향은 namespace를 잘 쓰지 않음.
#include <iostream>
#include <string>

// namespace //
// namespace는 공간의 분리를 말함
// 나만의 작업공간을 만들어 놓는 것
using namespace std;	// std라는 공간을 쓰겠다.

namespace A
{
	int value = 30;

	void Func()
	{
		for (int i = 0; i < value; i++)
		{
			cout << "어떠한 반복되는 기능" << endl;
		}
	}
}

namespace B
{
	string value = "TEST";
	void PrintValue()
	{
		cout << value << endl;
	}
}

using namespace A; // 차후 수정작업 시 실수로 인해 작업의 문제가 발생할 수 있기 때문에 잘 안 쓰는 추세

void main()
{
	cout << value << endl;	// A 네임스페이스의 value

	// ::는 스코프연산자로 해당 영역에 참조하도록 해줌
	cout << "A 네임스페이스에 존재하는 value 참조 : " << A::value << endl;
}

출력 결과

728x90