Computer >> 컴퓨터 >  >> 프로그래밍 >> C++

C++에서 typedef 선언이란 무엇이고 어떻게 사용할까?

C++에서 typedef란 무엇인가?

C++의 typedef 키워드는 기존 타입에 새로운 이름(별칭)을 부여할 때 사용합니다. 코드의 가독성을 높이고, 길고 복잡한 타입 이름을 간결하게 줄여주는 역할을 합니다.

기본 사용법

예를 들어, unsigned char 타입에 BYTE라는 새 이름을 부여하려면 다음과 같이 작성합니다.

typedef unsigned char BYTE;

이렇게 타입을 정의한 후에는 BYTE라는 식별자를 unsigned char의 축약형으로 자유롭게 사용할 수 있습니다.

BYTE b1, b2;

위 코드는 unsigned char 타입의 변수 b1과 b2 두 개를 선언하는 것과 동일한 의미입니다.

typedef가 특히 유용한 경우

typedef는 네임스페이스나 클래스 이름 등으로 인해 타입 이름이 매우 길어질 때 그 진가를 발휘합니다. 예를 들어 프로그램 전체에서 std::vector<std::pair<int, int>>::iterator 타입의 변수를 여러 번 사용해야 한다면, 매번 긴 이름을 반복해서 쓰는 대신 typedef로 간단한 이름을 붙일 수 있습니다.

typedef std::vector<std::pair<int, int>>::iterator it_vec_pair;

정의한 이후에는 다음과 같이 짧고 읽기 쉬운 이름으로 사용할 수 있습니다.

it_vec_pair it;

참고: C++11의 using 키워드

C++11부터는 typedef 대신 using 키워드로도 동일하게 타입 별칭을 만들 수 있으며, 문법이 더 직관적이라 최근에는 이 방식이 권장되는 추세입니다.

using BYTE = unsigned char;
using it_vec_pair = std::vector<std::pair<int, int>>::iterator;

정리하자면, typedef(또는 using)는 복잡한 타입에 의미 있는 이름을 부여하여 코드의 가독성과 유지보수성을 크게 향상시켜 주는 유용한 도구입니다.