atributo const

La palabra clave const modifica el tipo de una declaración de tipo o el tipo de un parámetro de función, lo que impide que el valor cambie.

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], ...);

Parámetros

const-type

Especifica un entero MIDL válido, carácter, cadena o tipo booleano. Los tipos MIDL válidos incluyen small, short, long, char, char*, wchar_t, wchar_t *, byte, byte*, and void*. Los tipos enteros y de caracteres se pueden firmar o sin signo.

identifier

Especifica un identificador MIDL válido. Los identificadores MIDL válidos constan de hasta 31 caracteres alfanuméricos o de subrayado y deben comenzar con un carácter alfabético o de subrayado.

const-expression

Especifica una expresión, un identificador o una constante numérica o de caracteres adecuada para el tipo especificado: literales enteros constantes o expresiones enteros constantes para constantes enteros; Expresiones booleanas que se pueden calcular en la compilación para tipos booleanos; constantes de un solo carácter para los tipos char; y constantes de cadena para los tipos [string]. El tipo void * solo se puede inicializar en NULL.

type-attribute-list

Especifica uno o varios atributos que se aplican al tipo.

tipo de puntero

Especifica un tipo de puntero MIDL válido.

declarator y declarator-list

Especifica declaradores de C estándar, como identificadores, declaradores de puntero y declaradores de matriz. Para obtener más información, vea Array and Sized-Pointer Attributes, arrays, and Arrays and Pointers. La lista de declaradores consta de uno o varios declaradores, separados por comas. El identificador parameter-name del declarador de función es opcional.

function-attr-list

Especifica cero o más atributos que se aplican a la función. Los atributos de función válidos son [devolución de llamada], [local]; el atributo de puntero [ref], [unique]o [ptr]; y los atributos de uso [string], [ignore]y [context_handle].

type-specifier

Especifica un base_type, una estructura, una unión, un tipo de enumeración o un identificador de tipo. Una especificación de almacenamiento opcional puede preceder al especificador de tipos.

ptr-decl

Especifica cero o más declaradores de puntero. Un declarador de puntero es el mismo que el declarador de puntero usado en C. Se construye a partir del * designador, modificadores como lejos y el calificador const.

nombre de función

Especifica el nombre del procedimiento remoto.

parameter-attribute-list

Especifica cero o más atributos direccionales, atributos de campo, atributos de uso y atributos de puntero adecuados para el tipo de parámetro especificado. Separe varios atributos con comas.

Comentarios

MIDL permite declarar tipos enteros, caracteres, cadenas y booleanos constantes en el cuerpo de la interfaz del archivo IDL. Las declaraciones de tipo Const se reproducen en el archivo de encabezado generado como directivas #define.

Los compiladores IDL de DCE no admiten expresiones constantes. Por lo tanto, esta característica no está disponible cuando se usa el modificador /osf del compilador MIDL.

Una constante definida previamente se puede usar como valor asignado de una constante posterior. El valor de una expresión integral constante se convierte automáticamente en el tipo entero respectivo de acuerdo con las reglas de conversión de C.

El valor de una constante de caracteres debe ser un carácter ASCII entre comillas simples. Cuando la constante de caracteres es el propio carácter de comillas simples ('), el carácter de barra diagonal inversa (\) debe preceder al carácter de comillas simples, como en \'.

El valor de una constante de cadena de caracteres debe ser una cadena entre comillas dobles. Dentro de una cadena, el carácter de barra diagonal inversa (\) debe preceder a un carácter de comilla doble literal ( " ), como en \". Dentro de una cadena, el carácter de barra diagonal inversa (\) representa un carácter de escape. Las constantes de cadena pueden constar de hasta 255 caracteres.

El valor NULL es el único valor válido para constantes de tipo void*. Se omiten todos los atributos asociados a la declaración const .

El compilador MIDL no comprueba si hay errores de intervalo en la inicialización const . Por ejemplo, al especificar "const short x = 0xFFFFFFFF;", el compilador MIDL no notifica un error y el inicializador se reproduce en el archivo de encabezado generado.

Ejemplos

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 );

Vea también

Matrices

Tipos base MIDL

Booleana

Byte

devolución de llamada

Char

context_handle

Enum

Archivo de definición de interfaz (IDL)

Ignorar

Local

Largo

/Osf

Ptr

Ref

Corto

Firmado

Pequeño

string

Estructura

union

Único

Unsigned

Vacío

wchar_t