Поделиться через


Модификаторы, используемые в системах Microsoft

В этом разделе описываются специальные расширения Microsoft для C++ в следующих аспектах языка:

Многие ключевые слова для систем Microsoft позволяют изменять деклараторы, чтобы создавать производные типы. Дополнительные сведения о деклараторах см. в разделе Деклараторы.

Ключевые слова для систем Microsoft

Ключевое слово

Значение

Позволяют создавать производные типы?

__based

Указанное после него имя объявляет 32-разрядное смещение относительно 32-разрядной базы, содержащейся в объявлении.

Да

__cdecl

В указанном после него имени используются соглашения об именовании и вызовах языка C.

Да

__declspec

Указанное после него имя задает атрибут класса хранения для систем Microsoft.

Нет

__fastcall

Указанное после него имя объявляет функцию, в которой аргументы передаются не через стек, а через регистры (если они доступны).

Да

__restrict

Аналогично ключевому слову __declspec(restrict), однако предназначено для переменных.

Нет

__stdcall

Указанное после него имя задает функцию, в которой соблюдается стандартное соглашение об именовании.

Да

__w64

Указывает, что в 64-разрядном компиляторе тип данных имеет больший размер.

Нет

__unaligned

Указывает, что указатель на тип или другие данные не выровнен.

Нет

__vectorcall

Указанное после него имя объявляет функцию, в которой аргументы передаются не через стек, а через регистры (если они доступны), включая регистры SSE.

Да

См. также

Другие ресурсы

Справочник по языку C++