반응형
typedef는 C++에서 기존 타입에 새로운 이름(별칭)을 부여하는 데 사용됩니다. 이를 통해 코드의 가독성을 높이거나 복잡한 타입을 간단하게 표현할 수 있습니다. 특히 함수 포인터, 템플릿 클래스, 긴 타입 선언 등을 다룰 때 유용합니다.
typedef 기존_타입 새_이름; |
예시 1: 기본 타입에 대한 typedef
typedef int Integer; Integer a = 5; // This is the same as writing "int a = 5;" |
예시 2: 포인터에 대한 typedef
typedef int* IntPtr; IntPtr p = nullptr; // This is the same as writing "int* p = nullptr;" |
예시 3: 함수 포인터에 대한 typedef
#include <iostream>
using namespace std;
typedef void (*FuncPtr)(int);
void printNumber(int x) {
std::cout << x << std::endl;
}
int main() {
FuncPtr f = printNumber;
f(10); // This will print "10"
return 0;
}
현대적 대안: using
C++11부터는 using 키워드가 typedef의 대안으로 등장했으며, 특히 템플릿을 사용할 때 더 유연하고 직관적입니다.
using 예시:
using Integer = int; using IntPtr = int*; using FuncPtr = void (*)(int); |
using은 템플릿 타입을 다룰 때 더 명확하게 표현할 수 있어서, 최근 C++ 코드에서는 typedef보다 더 자주 사용됩니다.
반응형
'C_C++' 카테고리의 다른 글
C++, 공용체 (union) 개요 (0) | 2024.10.17 |
---|---|
(C++) 열거형 enum (0) | 2024.10.13 |
c++ 구조체 struct (0) | 2024.10.10 |
C++ 함수 템플릿(Function Template) (0) | 2024.10.06 |
C++: 윤년 구하기 (0) | 2024.10.01 |