C++의 typedef에 대한 빠른 소개

C++는 강력한 형식의 언어이므로 C++ 커뮤니티에서 형식을 매우 중요하게 생각합니다! 유형은 중요하고 버그를 줄이지만, 코드 전체에서 반복적으로 사용해야 하는 긴 이름의 내장 유형이 있는 경우 꽤 빨리 지루해집니다.

// Examples

unsigned long num;

std::pair <std::string,double> product_one; 

typedef 선언을 도입하여 파일에서 유형을 선언하고 사용하는 쉽고 간편한 방법입니다. typedef 선언은 내장형에 부여하는 닉네임✨으로 간주할 수 있으며 inbuilt-type라고 말하고 싶을 때마다 닉네임을 대신 말합니다.

typedef unsigned long UL; 
UL num; // Equivalent to unsigned long num;

typedef std::pair <std::string,double> PRODUCT
PRODUCT product_one("notebook",54.5); 
// Equivalent to std::pair <std::string,double> ("notebook",54.5);

class , struct , unionenum 선언과 달리 typedef declarations 선언은 새 유형을 도입하지 않고 단순히 기존 유형에 대한 새 이름을 도입합니다. 더 흥미로운 점은 포인터, 함수 및 배열 유형을 포함하여 typedef 를 사용하여 모든 유형을 선언할 수 있다는 것입니다.

typedef struct {int a; int b;} STRUCT, *p_STRUCT;

// the following two objects have the same type
pSTRUCT p_struct_1;
STRUCT* p_struct_2;

typedef 선언은 범위가 지정됩니다. 즉, 다른 범위의 동일한 파일에 있는 variable와 이름이 같은 typedef를 선언할 수 있으며 유형 오류가 전혀 발생하지 않습니다!

typedef unsigned long UL;   
int main()
{
   unsigned int UL;   
   // re-declaration hides typedef name
   // now UL is an unsigned int variable in this scope
}

// typedef UL back in scope


그러나 이 방법은 결국 파일을 읽기 어렵게 만들고 원하지 않는 작업을 더 혼란스럽게 만들기 때문에 이 방법을 사용하지 않는 것이 좋습니다.🤷

In summary, you can use typedef declarations to construct shorter and more meaningful names to the types that are already defined by the language or for the types that you have declared.



이 기사가 typedef에 대한 간략한 소개를 하고 재미있게 읽었으면 합니다. 주제에 대한 자세한 정보는 문서here를 참조하십시오.

이 글을 읽어주셔서 감사하고 다음 글에서 만나요 😄

좋은 웹페이지 즐겨찾기