[C++] 범위 지정 연산자(::)와 namespace
- Language & Solution/C++
- 2017. 4. 14. 10:03
반응형
C++에서 :: 는 범위 지정 연산자로서 함수나 변수명 등을 namespace에 따라 구분할 때 사용됩니다. namespace는 명칭 영역이라는 말 그대로 변수나 함수들이 선언된 범위, 묶음이라고 생각하시면 됩니다.
std::string
위의 string t는 std namespace영역에서의 데이터 타입 string을 쓰겠다는 의미입니다.
조금 더 살펴 보면,
#include <iostream> #include <string> using namespace std; namespace A{ void hello(){ cout << "I am A" << endl; } } namespace B{ void hello(){ cout << "I am B" << endl; } } int main(void) { A::hello(); B::hello(); }
결과
I am A I am B |
함수명은 hello로 같지만 범위 지정 연산자로 다른 영역에 있는 함수라는 걸 명시함으로써 다른 함수를 호출하게 해줍니다. 이로서, 같은 함수명을 써서 벌어지는 충돌을 피함과 동시에 코드를 관리하게 용이하게 해주는 이점을 노릴 수 있겠죠,
반응형
'Language & Solution > C++' 카테고리의 다른 글
[C++] 시간 측정 (0) | 2017.04.14 |
---|---|
[C++] 표준 출력 정확도 조정 (0) | 2017.04.14 |
[C++] 표준 입출력 (0) | 2017.04.14 |
[C++]템플릿 (0) | 2017.04.11 |
Hello world (0) | 2017.04.01 |
이 글을 공유하기