[c++] 네임스페이스와 템플릿
이 블로그에서는 C++ 프로그래밍 언어에서 사용되는 네임스페이스와 템플릿에 대해 살펴보겠습니다.
네임스페이스
네임스페이스는 이름 충돌을 방지하고 범위를 제한하는 데 사용됩니다. 예를 들어, 동일한 이름을 가진 함수, 변수, 또는 클래스를 구별하기 위해 네임스페이스를 사용할 수 있습니다.
namespace MyNamespace {
int myFunction() {
return 42;
}
}
위의 예제에서 MyNamespace
라는 네임스페이스에 myFunction
이라는 함수가 정의되어 있습니다. 다른 코드에서 이 함수를 사용할 때는 MyNamespace::myFunction()
으로 호출할 수 있습니다.
템플릿
템플릿은 함수나 클래스가 여러 데이터 유형에 대해 작동하도록 하는 메커니즘을 제공합니다. 즉, 템플릿을 사용하면 동일한 로직을 가진 함수나 클래스를 여러 가지 데이터 유형에 대해 사용할 수 있습니다.
template <class T>
T myFunction(T a, T b) {
return a + b;
}
위의 예제에서 myFunction
은 템플릿 함수로, 어떤 데이터 유형이든 받아들일 수 있습니다.
결론
네임스페이스와 템플릿은 C++에서 코드의 유연성을 높이고 이름 충돌을 피하기 위해 사용되는 중요한 기능입니다. 올바르게 사용하면 코드의 가독성과 재사용성을 향상시킬 수 있습니다.
이상으로 C++의 네임스페이스와 템플릿에 대한 간략한 소개를 마치겠습니다.
참고문헌:
- https://en.cppreference.com/w/cpp/language/namespace
- https://en.cppreference.com/w/cpp/language/templates