const attribútum

A const kulcsszó módosítja a típusdeklaráció típusát vagy egy függvényparaméter típusát, így az érték nem változik.

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

Paraméterek

const-type

Érvényes MIDL egész számot, karaktert, sztringet vagy logikai típust ad meg. Az érvényes MIDL-típusok közé tartozik a kis, rövid, hosszú, karakter, karakter *, wchar_t, wchar_t *, bájt, bájt *és üres *. Az egész szám és a karaktertípusok aláírhatók vagy aláírhatók.

azonosító

Érvényes MIDL-azonosítót ad meg. Az érvényes MIDL-azonosítók legfeljebb 31 alfanumerikus és/vagy aláhúzásjelből állnak, és betűrendes vagy aláhúzásjellel kell kezdődniük.

const-expression

A megadott típusnak megfelelő kifejezést, azonosítót, numerikus vagy karakterállandót határoz meg: állandó egész számkonstansokat vagy állandó egész számkifejezéseket egész szám állandókhoz; Logikai kifejezések, amelyek logikai típusok fordításakor kiszámíthatók; karaktertípusok egy karakteres állandói; és sztringállandók [sztring] típusokhoz. Az üres * típus csak NULL értékre inicializálható.

type-attribute-list

Egy vagy több attribútumot ad meg, amelyek a típusra vonatkoznak.

mutatótípus

Érvényes MIDL-mutatótípust ad meg.

deklarátor és deklarátor-lista

Szabványos C deklarátorokat, például azonosítókat, mutatódeklarátorokat és tömbdeklarátorokat határoz meg. További információ: Tömbök és Sized-Pointer attribútumok, tömbök, tömbök és mutatók. A deklarátor-lista egy vagy több deklarátorból áll, vesszővel elválasztva. A függvénydeklarátor paraméternév-azonosítója nem kötelező.

function-attr-list

A függvényre vonatkozó nulla vagy több attribútumot határoz meg. Az érvényes függvényattribútumok a következők: [visszahívás], [helyi]; a mutatóattribútum [ref], [unique], vagy [ptr]; és a használati attribútumok [sztring], [figyelmen kívül hagyás] és [context_handle].

type-specifier

Megadja a base_type, a szerkezetet, az egyesítést, a számtípust vagy a típusazonosítót. A választható tárolási specifikáció megelőzheti a típusmegjelölőt.

ptr-decl

Nulla vagy több mutatódeklarátort ad meg. A mutatódeklarátor ugyanaz, mint a C-ben használt mutatódeklarátor. A tervezőből, az * olyan módosítókból, mint a távoli, és a minősítő konstansból épül fel.

függvény neve

A távoli eljárás nevét adja meg.

parameter-attribute-list

A megadott paramétertípusnak megfelelő nulla vagy több irányított attribútumot, mezőattribútumot, használati attribútumot és mutatóattribútumot határoz meg. Több attribútum elkülönítése vesszővel.

Megjegyzések

A MIDL lehetővé teszi állandó egész szám, karakter, sztring és logikai típus deklarálását az IDL-fájl illesztőtörzsében. A const típusú deklarációk a generált fejlécfájlban #define irányelvekként jelennek meg.

A DCE IDL-fordítói nem támogatják az állandó kifejezéseket. Ezért ez a funkció nem érhető el a MIDL fordító /osf kapcsoló használatakor.

Egy korábban definiált állandó egy későbbi állandó hozzárendelt értékeként használható. Az állandó integrál kifejezés értéke automatikusan a megfelelő egész számtípusra lesz konvertálva a C konverziós szabályoknak megfelelően.

A karakterállandó értékének egyetlen idézőjeles ASCII-karakternek kell lennie. Ha a karakterállandó maga az egy idézőjeles karakter ('), a fordított perjel karakternek (\) meg kell előznie az egyszeres idézőjel karaktert, mint a \' karakterben.

A karakter-sztring állandó értékének kettős idézőjelű sztringnek kell lennie. Egy sztringen belül a fordított perjel (\) karakternek meg kell előznie egy literál dupla idézőjelet ( " ), mint a \" karakterben. Egy sztringen belül a fordított perjel karakter (\) egy feloldó karaktert jelöl. A sztringállandók legfeljebb 255 karakterből állhatnak.

A NULL érték az egyetlen érvényes érték a null *típusú állandók esetében. A const deklarációhoz társított attribútumok figyelmen kívül lesznek hagyva.

A MIDL-fordító nem ellenőrzi a const inicializálás tartományhibáit. Ha például a "const short x = 0xFFFFFFFF;" értéket adja meg, a MIDL fordító nem jelent hibát, és az inicializáló a generált fejlécfájlban lesz reprodukálva.

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

Lásd még

Tömbök

MIDL-alaptípusok

Logikai

bájt

Visszahívási

karakter

context_handle

Enum

Interfészdefiníciós (IDL-) fájl

Figyelmen kívül hagyja

Helyi

Hosszú

/osf

Ptr

Ref

Rövid

Aláírt

Kis

Karakterlánc

Struct

Unió

Egyedi

Aláíratlan

Void

wchar_t