다음을 통해 공유


const 특성

const 키워드(keyword) 형식 선언의 형식 또는 함수 매개 변수의 형식을 수정하여 값이 달라지는 것을 방지합니다.

const const-type identifier = const-expression ;

[ typedef [ , type-attribute-list ] ] const const-type declarator-list;

[ typedef [ , type-attribute-list ] ] pointer-type const declarator-list;

[ [ function-attr-list ] ] type-specifier [ ptr-decl ] function-name(
    [ [ parameter-attribute-list ] ] ) const; 

const-type [declarator], [ [ parameter-attribute-list ] ] pointer-type const [declarator], ...);

매개 변수

const-type

유효한 MIDL 정수, 문자, 문자열 또는 부울 형식을 지정합니다. 유효한 MIDL 형식에는 작은, 짧은, , char, char *, wchar_t, wchar_t *, 바이트, 바이트 *void *가 포함됩니다. 정수 및 문자 형식은 부호 가 있거나 서명되지 않을 수 있습니다.

identifier

유효한 MIDL 식별자를 지정합니다. 유효한 MIDL 식별자는 최대 31개의 영숫자 및/또는 밑줄 문자로 구성되며 알파벳 또는 밑줄 문자로 시작해야 합니다.

const-expression

지정된 형식에 적합한 식, 식별자 또는 숫자 또는 문자 상수( 상수 정수 리터럴 또는 정수 상수 식)를 지정합니다. 부울 형식에 대한 컴파일 시 계산할 수 있는 부울 식; char 형식에 대한 단일 문자 상수; 및 [string] 형식에 대한 문자열 상수입니다. void * 형식은 NULL로만 초기화할 수 있습니다.

type-attribute-list

형식에 적용되는 하나 이상의 특성을 지정합니다.

pointer-type

유효한 MIDL 포인터 형식을 지정합니다.

declarator 및 declarator-list

식별자, 포인터 선언자 및 배열 선언자와 같은 표준 C 선언자를 지정합니다. 자세한 내용은 배열 및 Sized-Pointer 특성, 배열배열 및 포인터를 참조하세요. 선언자 목록은 하나 이상의 선언자로 구성되며 쉼표로 구분됩니다. 함수 선언자의 매개 변수 이름 식별자는 선택 사항입니다.

function-attr-list

함수에 적용되는 0개 이상의 특성을 지정합니다. 유효한 함수 특성은 [콜백], [로컬]입니다. 포인터 특성 [ref], [unique]또는 [ptr]; 및 사용 특성 [string], [ignore][context_handle].

type-specifier

base_type, 구조체, 공용 구조체, 열거형 형식 또는 형식 식별자를 지정합니다. 선택적 스토리지 사양은 형식 지정자보다 우선할 수 있습니다.

ptr-decl

포인터 선언자를 0개 이상 지정합니다. 포인터 선언자는 C에서 사용되는 포인터 선언자와 동일합니다. 지정자, 한정자(예: 멀리) 및 한정자 const에서 * 생성됩니다.

function-name

원격 프로시저의 이름을 지정합니다.

parameter-attribute-list

지정된 매개 변수 형식에 적합한 0개 이상의 방향 특성, 필드 특성, 사용 특성 및 포인터 특성을 지정합니다. 여러 특성을 쉼표로 구분합니다.

설명

MIDL을 사용하면 IDL 파일의 인터페이스 본문에서 상수 정수, 문자, 문자열 및 부울 형식을 선언할 수 있습니다. Const 형식 선언은 생성된 헤더 파일에서 #define 지시문으로 재현됩니다.

DCE IDL 컴파일러에서는 상수 식을 지원하지 않습니다. 따라서 MIDL 컴파일러 /osf 스위치를 사용하는 경우 이 기능을 사용할 수 없습니다.

이전에 정의된 상수를 후속 상수의 할당된 값으로 사용할 수 있습니다. 상수 정수 식의 값은 C 변환 규칙에 따라 해당 정수 형식으로 자동으로 변환됩니다.

문자 상수의 값은 따옴표로 묶은 ASCII 문자여야 합니다. 문자 상수가 작은따옴표 문자 자체(')인 경우 백슬래시 문자(\)는 \'와 같이 작은따옴표 문자 앞에 와야 합니다.

문자열 상수의 값은 큰따옴표가 붙은 문자열이어야 합니다. 문자열 내에서 백슬래시(\) 문자는 \"와 같이 리터럴 큰따옴표 문자( " ) 앞에 와야 합니다. 문자열 내에서 백슬래시 문자(\)는 이스케이프 문자를 나타냅니다. 문자열 상수는 최대 255자로 구성됩니다.

값 NULLvoid *형식의 상수에 대해 유효한 유일한 값입니다. const 선언과 연결된 모든 특성은 무시됩니다.

MIDL 컴파일러는 const 초기화에서 범위 오류에 대해 검사 않습니다. 예를 들어 "const short x = 0xFFFFFFFF;"을 지정하면 MIDL 컴파일러가 오류를 보고하지 않고 이니셜라이저가 생성된 헤더 파일에서 재현됩니다.

const void *  p1        = NULL; 
const char    my_char1  = 'a'; 
const char    my_char2  = my_char1; 
const wchar_t my_wchar3 = L'a'; 
const wchar_t * pszNote = L"Note"; 
const unsigned short int x = 123; 
 
typedef [string] const char *LPCSTR; 
 
HRESULT GetName([out] wchar_t * const pszName );

참고 항목

배열

MIDL 기본 형식

부울

바이트

콜백

char

context_handle

열거형

IDL(인터페이스 정의) 파일

무시

로컬

/osf

ptr

Ref

짧은

서명

작은

문자열

구조체

연합

고유

부호 없는

Void

wchar_t