Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Słowo kluczowe const modyfikuje typ deklaracji typu lub typ parametru funkcji, uniemożliwiając zmianę wartości.
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
-
typ const
-
Określa prawidłową liczbę całkowitą MIDL, znak, ciąg lub typ logiczny. Prawidłowe typy MIDL obejmują małe, krótkie, długie, char, char *, wchar_t, wchar_t *, bajt, bajt *i pustkę *. Typy liczb całkowitych i znaków mogą być podpisane lub niepodpisane.
-
identyfikator
-
Określa prawidłowy identyfikator MIDL. Prawidłowe identyfikatory MIDL składają się z maksymalnie 31 znaków alfanumerycznych i/lub podkreślenia i muszą zaczynać się od znaku alfabetycznego lub podkreślenia.
-
const-expression
-
Określa wyrażenie, identyfikator lub stałą liczbową lub znakową odpowiednią dla określonego typu: literały stałej liczby całkowitej lub wyrażenia stałej liczby całkowitej dla stałych stałych stałych; Wyrażenia logiczne, które można obliczyć podczas kompilacji dla typów logicznych; stałe jednoznaczne dla typów znaków; i stałe ciągów dla typów [string]. Typ void * można zainicjować tylko do wartości NULL.
-
type-attribute-list
-
Określa co najmniej jeden atrybut, który ma zastosowanie do typu.
-
typ wskaźnika
-
Określa prawidłowy typ wskaźnika MIDL.
-
deklarator i deklarator-lista
-
Określa standardowe deklaratory języka C, takie jak identyfikatory, deklaratory wskaźników i deklaratory tablicy. Aby uzyskać więcej informacji, zobacz Tablice i Sized-Pointer Atrybuty, tablice i tablice i wskaźniki. Lista deklaratorów składa się z co najmniej jednego deklaratora oddzielonego przecinkami. Identyfikator nazwy parametru w deklaratorze funkcji jest opcjonalny.
-
function-attr-list
-
Określa zero lub więcej atrybutów, które mają zastosowanie do funkcji. Prawidłowe atrybuty funkcji to [wywołanie zwrotne], [lokalne]; atrybut wskaźnika [ref], [unique]lub [ptr]; oraz atrybuty użycia [string], [ignoruj]i [context_handle].
-
specyfikator typu
-
Określa base_type, struktury, unii, typu wyliczenia lub identyfikatora typu. Opcjonalna specyfikacja magazynu może poprzedzać specyfikator typów.
-
ptr-decl
-
Określa zero lub więcej deklaratorów wskaźników. Deklarator wskaźnika jest taki sam jak deklarator wskaźnika używany w języku C. Jest zbudowany z projektanta * , modyfikatorów, takich jak daleko, i kwalifikatora const.
-
nazwa funkcji
-
Określa nazwę procedury zdalnej.
-
parametr-attribute-list
-
Określa zero lub więcej atrybutów kierunkowych, atrybutów pola, atrybutów użycia i atrybutów wskaźnika odpowiednich dla określonego typu parametru. Rozdziel wiele atrybutów przecinkami.
Uwagi
MidL umożliwia deklarowanie stałych liczb całkowitych, znaków, ciągów i wartości logicznych w treści interfejsu pliku IDL. Deklaracje typów Const są odtwarzane w wygenerowanych plikach nagłówka jako dyrektywy #define.
Kompilatory IDL dcE nie obsługują wyrażeń stałych. W związku z tym ta funkcja nie jest dostępna w przypadku korzystania z przełącznika /osf kompilatora MIDL.
Wcześniej zdefiniowana stała może być używana jako przypisana wartość kolejnej stałej. Wartość wyrażenia całkowitego stałej jest automatycznie konwertowana na odpowiedni typ całkowity zgodnie z regułami konwersji języka C.
Wartość stałej znaku musi być znakiem ASCII z pojedynczym cudzysłów. Gdy stała znaku jest znakiem pojedynczego cudzysłowu ('), znak ukośnika odwrotnego (\) musi poprzedzać znak pojedynczego cudzysłowu, tak jak w znaku \".
Wartość stałej ciąg-znak musi być ciągiem dwucytowym. W ciągu znak ukośnika odwrotnego (\) musi poprzedzać znak podwójnego cudzysłowu ( " ), jak w znaku \". W ciągu znak ukośnika odwrotnego (\) reprezentuje znak ucieczki. Stałe ciągów mogą składać się z maksymalnie 255 znaków.
Wartość NULL jest jedyną prawidłową wartością dla stałych typu void *. Wszystkie atrybuty skojarzone z deklaracją const są ignorowane.
Kompilator MIDL nie sprawdza błędów zakresu w inicjowaniu const . Na przykład po określeniu ciągu "const short x = 0xFFFFFFFF;" kompilator MIDL nie zgłasza błędu, a inicjator jest odtwarzany w wygenerowanym pliku nagłówka.
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 );
Zobacz także