const-kenmerk

Het trefwoord const wijzigt het type van een typedeclaratie of het type van een functieparameter, waardoor de waarde niet kan variëren.

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

Parameterwaarden

const-type

Hiermee geeft u een geldig MIDL-geheel getal, teken, teken, teken, tekenreeks of Booleaanse waarde op. Geldige MIDL-typen zijn klein, kort, lang, teken, teken *, wchar_t, wchar_t *, byte, byte *, en ongeldigheid *. Het geheel getal en de tekentypen kunnen worden ondertekend of niet ondertekend.

identificatie

Hiermee geeft u een geldige MIDL-id op. Geldige MIDL-id's bestaan uit maximaal 31 alfanumerieke en/of onderstrepingstekens en moeten beginnen met een alfabetisch of onderstrepingsteken.

const-expression

Hiermee geeft u een expressie, id of numerieke of tekenconstante op die geschikt is voor het opgegeven type: constante letterlijke gehele getallen of constante gehele getallenexpressies voor gehele getallen constanten; Booleaanse expressies die kunnen worden berekend bij compilatie voor Booleaanse typen; constanten met één teken voor tekentypen ; en tekenreeksconstanten voor [tekenreeks] typen. Het ongeldige *-type kan alleen worden geïnitialiseerd naar NULL.

type-attribute-list

Hiermee geeft u een of meer kenmerken op die van toepassing zijn op het type.

aanwijzertype

Hiermee geeft u een geldig TYPE MIDL-aanwijzer op.

declarator en declarator-list

Hiermee geeft u standaard C-declaraties op, zoals id's, aanwijzerdeclaraties en matrixdeclaraties. Zie Matrix en Sized-Pointer Kenmerken, matrices en matrices en aanwijzers voor meer informatie. De declaratielijst bestaat uit een of meer declaraties, gescheiden door komma's. De parameternaam-id in de functiedeclaratie is optioneel.

function-attr-list

Hiermee geeft u nul of meer kenmerken op die van toepassing zijn op de functie. Geldige functiekenmerken zijn [callback], [lokaal]; het kenmerk [ref], [uniek] of [ptr]; en de gebruikskenmerken [tekenreeks], [negeren] en [context_handle].

typeaanduiding

Hiermee geeft u een base_type, struct, union, enum type id. Een optionele opslagspecificatie kan voorafgaan aan typeaanduiding.

ptr-decl

Hiermee geeft u nul of meer aanwijzerdeclaraties op. Een aanwijzerdeclarator is hetzelfde als de aanwijzer die in C wordt gebruikt. Het is samengesteld uit de * ontwerpfunctie, modifiers zoals ver en de kwalificatie const.

functienaam

Hiermee geeft u de naam van de externe procedure.

parameter-attribute-list

Hiermee geeft u nul of meer directionele kenmerken, veldkenmerken, gebruikskenmerken en aanwijzerkenmerken die geschikt zijn voor het opgegeven parametertype. Scheid meerdere kenmerken met komma's.

Opmerkingen

MET MIDL kunt u constant geheel getal, teken, teken, tekenreeks en Booleaanse typen declareren in de hoofdtekst van het IDL-bestand. Declaraties van const-typen worden in het gegenereerde headerbestand gereproduceerd als #define instructies.

DCE IDL-compilers bieden geen ondersteuning voor constante expressies. Deze functie is daarom niet beschikbaar wanneer u de MIDL-compiler /osf-switch gebruikt .

Een eerder gedefinieerde constante kan worden gebruikt als de toegewezen waarde van een volgende constante. De waarde van een constante integrale expressie wordt automatisch geconverteerd naar het respectieve gehele getaltype in overeenstemming met C-conversieregels.

De waarde van een tekenconstante moet een ASCII-teken met één aanhalingsteken zijn. Wanneer de tekenconstante het teken met één aanhalingsteken zelf (') is, moet het backslashteken (\) voorafgaan aan het teken met één aanhalingsteken, zoals in \'.

De waarde van een tekenreeksconstante moet een tekenreeks met dubbele aanhalingstekens zijn. Binnen een tekenreeks moet het teken backslash (\) voorafgaan aan een letterlijk dubbel aanhalingsteken ( ' ), zoals in \. Binnen een tekenreeks vertegenwoordigt het backslashteken (\) een escape-teken. Tekenreeksconstanten kunnen uit maximaal 255 tekens bestaan.

De waarde NULL is de enige geldige waarde voor constanten van het type void *. Alle kenmerken die aan de const-declaratie zijn gekoppeld, worden genegeerd.

De MIDL-compiler controleert niet op bereikfouten in const initialisatie. Wanneer u bijvoorbeeld 'const short x = 0xFFFFFFFF;' opgeeft, rapporteert de MIDL-compiler geen fout en wordt de initialisatiefunctie gereproduceerd in het gegenereerde headerbestand.

Examples

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

Zie ook

Arrays

MIDL-basistypen

Booleaanse

Byte

Callback

karakter

context_handle

Enum

IdL-bestand (Interface Definition)

Negeren

Lokale

Lange

/Osf

Ptr

Ref

Korte

Ondertekend

Kleine

Tekenreeks

Struct

Unie

Unieke

Unsigned

Void

wchar_t