[c++] 함수 오버로딩과 별명 템플릿
함수 오버로딩은 C++에서 여러 함수가 같은 이름을 가질 수 있도록 허용하는 기능입니다. 함수의 이름은 동일하지만 매개변수의 타입, 숫자 또는 순서가 다를 때 함수 오버로딩이 가능합니다. 이를 통해 동일한 역할을 수행하는 함수들을 하나의 이름으로 통합할 수 있습니다.
함수 오버로딩 예제
#include <iostream>
void print(int value) {
std::cout << "Integer value: " << value << std::endl;
}
void print(double value) {
std::cout << "Double value: " << value << std::endl;
}
int main() {
print(5);
print(3.14);
return 0;
}
위 코드에서는 print
함수가 두 번 정의되었습니다. 첫 번째는 int
를 매개변수로 받고, 두 번째는 double
을 매개변수로 받습니다.
별명 템플릿
C++11 이상에서는 별명 템플릿(alias template)이라는 기능을 사용하여 템플릿 타입에 대한 별명을 지정할 수 있습니다. 이는 복잡한 템플릿 타입을 간결하게 나타내는 데 도움이 됩니다.
template <typename T>
using Vec = std::vector<T>;
int main() {
Vec<int> intVector; // std::vector<int>의 별명
Vec<double> doubleVector; // std::vector<double>의 별명
return 0;
}
위 코드에서 Vec
는 std::vector
의 별명으로 사용됩니다.
함수 오버로딩과 별명 템플릿은 C++ 프로그래밍에서 코드의 유연성을 높이고 템플릿을 사용할 때 가독성을 향상시키는 데 도움이 됩니다.
더 자세한 정보는 C++ Reference를 확인하시기 바랍니다.