Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Ключевое слово const изменяет тип объявления типа или тип параметра функции, предотвращая изменение значения.
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], ...);
Параметры
-
const-type
-
Указывает допустимое целое число MIDL, символ, строку или логический тип. Допустимые типы MIDL включают небольшие, короткие, длинные, char, char *, wchar_t, wchar_t *, байт, байт *и void *. Целочисленные и символьные типы могут быть подписаны или без знака.
-
идентификатор
-
Указывает допустимый идентификатор MIDL. Допустимые идентификаторы MIDL состоят из до 31 буквенно-цифровых символов и (или) символов подчеркивания и должны начинаться с алфавита или символа подчеркивания.
-
const-expression
-
Задает выражение, идентификатор или числовую или символьную константу, соответствующую указанному типу: константные целые литералы или константы целочисленных выражений для целочисленных констант; Логические выражения, которые можно вычислить при компиляции для логических типов; Константы с одним символом для типов char ; и строковые константы для типов [string] . Тип void * можно инициализировать только до NULL.
-
type-attribute-list
-
Указывает один или несколько атрибутов, которые применяются к типу.
-
тип указателя
-
Указывает допустимый тип указателя MIDL.
-
декларатор и декларатор-list
-
Задает стандартные деклараторы C, такие как идентификаторы, деклараторы указателя и деклараторы массива. Дополнительные сведения см. в разделе "Массив" и "Sized-Pointer Атрибуты", " Массивы" и " Массивы" и "Указатели". Список декларатора состоит из одного или нескольких деклараторов, разделенных запятыми. Идентификатор имени параметра в деклараторе функции является необязательным.
-
function-attr-list
-
Указывает ноль или больше атрибутов, которые применяются к функции. Допустимые атрибуты функции : [обратный вызов], [local]; атрибут указателя [ref], [unique], или [ptr]; и атрибуты использования [string], [игнорировать], и [context_handle].
-
описатель типа
-
Задает base_type, структуру, объединение, тип перечисления или идентификатор типа. Необязательная спецификация хранилища может предшествовать описательу типа.
-
ptr-decl
-
Указывает ноль или больше деклараторов указателей. Декларатор указателя совпадает с декларатором указателя, используемым в C. Он построен на основе конструктора * , модификаторов, таких как далеко, и квалификатора констант.
-
имя функции
-
Указывает имя удаленной процедуры.
-
параметр-атрибут-list
-
Задает нулевые или более направленные атрибуты, атрибуты поля, атрибуты использования и атрибуты указателя, соответствующие указанному типу параметров. Разделите несколько атрибутов запятыми.
Замечания
MIDL позволяет объявлять константные целые числа, символы, строки и логические типы в тексте интерфейса файла IDL. Объявления типа Const воспроизводится в созданном файле заголовка как директивы #define.
Компиляторы IDL DCE не поддерживают константные выражения. Поэтому эта функция недоступна при использовании переключателя компилятора /osf MIDL.
Ранее определенная константа может использоваться в качестве назначенного значения последующей константы. Значение константного целочисленного выражения автоматически преобразуется в соответствующий целочисленный тип в соответствии с правилами преобразования C.
Значение константы символа должно быть символом ASCII с одним кавычками. Если константа символа является символом с одним кавычками ('), символ обратной косой черты (\) должен предшествовать символу с одним кавычками, как в \'.
Значение константы строки символов должно быть двойной кавычки. В строке символ обратной косой черты (\) должен предшествовать символу двойного кавычки ( " ), как в \". В строке символ обратной косой черты (\) представляет escape-символ. Строковые константы могут содержать до 255 символов.
Значение NULL является единственным допустимым значением для констант типа void *. Все атрибуты, связанные с объявлением const , игнорируются.
Компилятор MIDL не проверяет наличие ошибок диапазона в инициализации констант . Например, если указать "const short x = 0xFFFFFFFF;" компилятор MIDL не сообщает об ошибке, и инициализатор воспроизводится в созданном файле заголовка.
Примеры
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 );
См. также