다음을 통해 공유


C++ 추상 선언자

추상 선언자는 식별자가 생략된 선언자입니다. 관련 내용은 형식 이름선언자를 참조하십시오. 추상 선언자가 아닌 선언자는 개체나 함수의 선언에서 사용되지만 식별자를 제거하면 형식 정보만 남습니다. 따라서 추상 선언자는 char과 같은 기본 형식을 수정하여 char 또는 char 배열에 대한 포인터와 같은 보다 복잡한 형식을 지정하는 효과가 있습니다. 이에 따라 추상 선언자는 항상 기본 형식 이름과 함께 사용되며 해당 기본 형식을 반환하는 함수에 대한 포인터를 비롯하여 포인터, 배열 또는 참조 형식이 필요한 경우에만 사용됩니다. 다음에 해당하는 추상 선언자에 대해 이 단원에서 설명합니다.

추상 선언자는 이름을 선언하지 않는 선언자로, 식별자는 생략됩니다. 예를 들면 다음과 같습니다.

char * 

char 형식의 형식 포인터를 지정합니다. 형식 이름은 기본 형식 이름 char에 추상 선언자 *****를 더한 것으로 구성됩니다.

이와 마찬가지로 참조에 대한 추상 선언자는 & 연산자이며 배열 형식은 대괄호를 사용하여 지정됩니다. 선언자에 대한 구문을 적용하고 식별자를 제거하는 간단한 방법으로 모든 형식을 지정할 수 있습니다.

char &   // reference to char
char[5] // array of char

다음은 둘 다 char * 형식인 두 인수를 사용하고 char * 형식을 반환하는 함수에 대한 형식 포인터를 선언하는 추상 선언자의 보다 복잡한 사용 예입니다.

char * (*)( char *, char * )

기본 형식 지정자와 함께 추상 선언자는 형식을 완전히 선언합니다. 추상 선언자에서 생성된 형식 이름은 형식이 필요한 모든 곳에서 사용할 수 있습니다.

// Get the size of array of 10 pointers to type char.
size_t nSize = sizeof( char *[10] );
// cast fptr to pointer to function that takes two arguments, both of type
// pointer to char
 i = (char * (*)(char*, char*)) fptr; 

typedef 지정자를 사용하면 추상 선언자의 번거로운 구문을 반복하지 않을 수 있습니다.

참고 항목

참조

선언자