Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Klíčové slovo const upravuje typ deklarace typu nebo typ parametru funkce, což brání tomu, aby se hodnota liší.
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], ...);
Parametry
-
const-type
-
Určuje platné celé číslo, znak, řetězec nebo logický typ MIDL. Platné typy MIDL zahrnují malé, krátké, dlouhé, char, znak *, wchar_t, wchar_t *, bajt, bajt *a void *. Celé číslo a typy znaků mohou být podepsány nebo bez znaménka.
-
identifikátor
-
Určuje platný identifikátor MIDL. Platné identifikátory MIDL se skládají z až 31 alfanumerických a/nebo podtržítků a musí začínat abecedním nebo podtržítkem.
-
const-expression
-
Určuje výraz, identifikátor nebo číselnou nebo znakovou konstantu odpovídající zadanému typu: celočíselné literály konstanty nebo celočíselné výrazy pro celočíselné konstanty; Logické výrazy, které lze vypočítat při kompilaci pro logické typy; jednoznakové konstanty pro typy znaků; a řetězcové konstanty pro typy [string]. Typ void * lze inicializovat pouze na hodnotu NULL.
-
type-attribute-list
-
Určuje jeden nebo více atributů, které se vztahují na typ.
-
pointer-type
-
Určuje platný typ ukazatele MIDL.
-
deklarátor a seznam deklarátoru
-
Určuje standardní deklarátory jazyka C, jako jsou identifikátory, deklarátory ukazatele a deklarátory polí. Další informace naleznete v tématu Pole a Sized-Pointer Atributy, matice a matice a ukazatele. Deklarátor-seznam se skládá z jednoho nebo více deklarátorů oddělených čárkami. Identifikátor názvu parametru v deklarátoru funkce je volitelný.
-
function-attr-list
-
Určuje nula nebo více atributů, které se vztahují na funkci. Platné atributy funkce jsou [zpětné volání], [local]; atribut ukazatele [odkaz], [unique] nebo [ptr]; a atributy použití [string], [ignore] a [context_handle].
-
Specifikátor typů
-
Určuje base_type, strukturu, sjednocení, typ výčtu nebo identifikátor typu. Volitelná specifikace úložiště může předcházet specifikátoru typu.
-
ptr-decl
-
Určuje deklarátory nuly nebo více ukazatelů. Deklarátor ukazatele je stejný jako deklarátor ukazatele použitý v jazyce C. Je sestaven z návrhátoru * , modifikátorů, jako je daleko, a kvalifikátoru const.
-
function-name
-
Určuje název vzdálené procedury.
-
parameter-attribute-list
-
Určuje nula nebo více směrových atributů, atributů polí, atributů použití a atributů ukazatelů vhodných pro zadaný typ parametru. Oddělte více atributů čárkami.
Poznámky
MIDL umožňuje deklarovat konstantní celé číslo, znak, řetězec a logické typy v těle rozhraní souboru IDL. Deklarace typu Const jsou reprodukovány ve vygenerovaném souboru hlaviček jako direktivy #define.
Kompilátory IDL jazyka DCE nepodporují konstantní výrazy. Tato funkce proto není k dispozici, pokud použijete přepínač kompilátoru MIDL /osf .
Dříve definovanou konstantu lze použít jako přiřazenou hodnotu následující konstanty. Hodnota konstantního celočíselného výrazu se automaticky převede na odpovídající celočíselný typ v souladu s pravidly převodu jazyka C.
Hodnota znakové konstanty musí být jedno citovaný znak ASCII. Pokud je znakovou konstantou samotný znak jednoduché uvozovky ('), musí znak zpětného lomítka (\) před znak jednoduché uvozovky, jak je uvedeno v \.
Hodnota konstanty znakového řetězce musí být řetězec s dvojitou uvozovou sadou. V řetězci musí znak zpětného lomítka (\) předcházet literálu znak dvojité uvozovky ( " ), jako v \". V řetězci znak zpětného lomítka (\) představuje řídicí znak. Řetězcové konstanty můžou obsahovat až 255 znaků.
Hodnota NULL je jedinou platnou hodnotou pro konstanty typu void *. Všechny atributy přidružené k deklaraci const jsou ignorovány.
Kompilátor MIDL nekontroluje chyby rozsahu v inicializaci const . Pokud například zadáte "const short x = 0xFFFFFFFF;" kompilátor MIDL neohlásí chybu a inicializátor se reprodukuje v generovaném souboru hlaviček.
Příklady
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 );
Viz také