티스토리 뷰
C++의 namespace
namespace는 효율적인 코드의 작성을 위해서 등장한 개념입니다. 큰 프로젝트가 진행될 경우 여러 팀에서 한 프로그램을 만들것입니다. 이 때, 서로다른 팀에서 만든 코드에 gogo()라는 함수가 중복되어 있다면 어떨까요? 합쳐서 사용하기 위해서는 한 쪽의 함수를 모두 바꿔주면 될 것 같지만 큰 프로젝트에서 모두 수정하기에는 힘들 것이고 함수의 이름이 바뀌면 그 의미를 반영하는것도 바뀌기 때문에 곤란해 질 수도있습니다.
이 때, namespace를 적용해주면 각 함수를 영역접근연산자인 '::'를 사용해서 접근할 수 있습니다. 간단한 예를 보겠습니다. namespace A로 ex() 함수를 감싸주었습니다. 이제 함수 ex()를 호출하려면 ::를 통해 접근을 해주어야합니다.
1 2 3 4 5 | namespace A { void ex() { } } |
main() 함수에서 사용하기 위해서는 다음과 같이 호출해주어야합니다.
1 2 3 4 | int main(){ A::ex(); return 0; } |
간단하게 namespace에 대해서 알아보았습니다. 실제로 PS 풀이를 할 때는 사용할 일이 거의 없을 겁니다.
앞서 cin과 cout을 사용할 때 std::cin, std::cout으로 영역접근연산자(::)를 사용해서 cin과 cout을 사용하였습니다. 매번 std::라는 반복적인 작업을 하면 귀찮아 지기 때문에 다음과 같이 std라는 namespace를 사용한다고 선언하여 생략을 할 수 있습니다.
1 | using namespace std; |
작성 후에는 std::를 생략하여 사용할 수 있습니다.
1 2 3 4 5 6 7 8 9 10 | #include <iostream> using namespace std; int main(){ int a; cin>>a; cout<<a; return 0; } |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday