C_C++

c++ typedef, 기존 자료형에 새로운 이름 부여

고니자니 2024. 10. 12. 08:26
반응형

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