Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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