Namespaces (using)
2024. 8. 3. 11:45ㆍ프로그래밍 언어/C++
출처: https://en.cppreference.com/w/cpp/language/namespace#Namespaces
Namespaces - cppreference.com
Namespaces provide a method for preventing name conflicts in large projects. Entities declared inside a namespace block are placed in a namespace scope, which prevents them from being mistaken for identically-named entities in other scopes. Entities declar
en.cppreference.com
* using
- using namespace ns-name ;
특정 네임스페이스를 명시하지 않고 그 안의 모든 요소를 사용할 수 있게 하는 기능. 이 구문을 사용하면, 해당 네임스페이스 안의 모든 이름을 마치 현재 범위에 선언된 것처럼 사용할 수 있게 된다. 이를 통해 특정 네임스페이스의 멤버를 간편하게 사용할 수 있게 된다. 다만 이름 충돌의 위험이 있어 가급적 사용을 하지 않고 전체 이름을 적는 것이 더 바랍직하다.
(학습 또는 테스트용으로 빠르게 처리하는 경우 등에서만 사용하고 가급적 사용을 하지 않는 것이 좋을 것 같다는 의견입니다.)
예시 (ChatGPT 생상):
#include <iostream>
namespace A {
void display() {
std::cout << "Display from namespace A" << std::endl;
}
}
namespace B {
void display() {
std::cout << "Display from namespace B" << std::endl;
}
}
int main() {
using namespace A;
display(); // A::display() 호출
// B::display()를 호출하려면 네임스페이스를 명시해야 합니다.
B::display();
return 0;
}
'프로그래밍 언어 > C++' 카테고리의 다른 글
std::is_empty - empty class (C++11~) (0) | 2024.08.04 |
---|---|
Namespaces (using - namespace의 특정 맴버) (0) | 2024.08.03 |
Namespaces (스코프) (0) | 2024.08.02 |
Namespaces (익명 네임스페이스) (0) | 2024.07.30 |
Namespaces (인라인 네임스페이스) (0) | 2024.07.29 |