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


Ключевые слова (C++)

Ключевые слова — это предварительно определенные зарезервированные идентификаторы, имеющие специальные значения. Их нельзя использовать в качестве идентификаторов в программе. Для Microsoft C++ зарезервированы следующие ключевые слова. Имена с символами подчеркивания и именами, указанными для C++/CX и C++/CLI, являются расширениями Майкрософт.

Стандартные ключевые слова C++

constinitc
continue
co_awaitc
co_returnc
co_yieldc
decltype
default
delete
do
double
dynamic_cast
else
enum
explicit
exportc
extern
false
float
for
friend
goto
if
inline

Ключевое слово, определенное корпорацией __asm Майкрософт, заменяет синтаксис C++ asm . asm зарезервировано для совместимости с другими реализациями C++, но оно не реализовано. Используется __asm для встроенной сборки в целевых объектах x86. Microsoft C++ не поддерживает встроенную сборку для других целевых объектов.

B Синонимы расширенных операторов являются ключевыми словами, когда /permissive- указано или /Za (отключить расширения языка). Они не являются ключевыми словами при включении расширений Майкрософт.

c Поддерживается при /std:c++20 указании или более поздней версии (например /std:c++latest, при указании).

Ключевые слова C++ для конкретной корпорации Майкрософт

В C++идентификаторы, содержащие два последовательных подчеркивания, зарезервированы для реализаций компилятора. Соглашение Майкрософт должно предшествовать ключевым словам, определенным корпорацией Майкрософт, с двойными подчеркиваниями. Эти слова невозможно использовать как имена идентификаторов.

Расширения Microsoft по умолчанию включены. Чтобы убедиться, что программы полностью переносимы, можно отключить расширения Майкрософт, указав /permissive- параметр или /Za (Отключить расширения языка) во время компиляции. Эти параметры отключают некоторые ключевые слова, относящиеся к Корпорации Майкрософт.

Если расширения Microsoft включены, в программах можно использовать ключевые слова, специфические для систем Microsoft. Для соответствия ANSI эти ключевые слова предустановляются двойным подчеркиванием. Для обратной совместимости поддерживаются версии с одним подчеркиванием многих из ключевых слов с двойным подчеркиванием. Ключевое __cdecl слово доступно без начального подчеркивания.

Ключевое __asm слово заменяет синтаксис C++ asm . asm зарезервировано для совместимости с другими реализациями C++, но оно не реализовано. Используйте __asm.

Ключевое __based слово имеет ограниченное использование для 32-разрядных и 64-разрядных целевых компиляций.

Встроенная функция, используемая в обработке событий.

E Для обратной совместимости с предыдущими версиями эти ключевые слова доступны как с двумя основными подчеркиваниями, так и с одним ведущим подчеркиванием при включении расширений Майкрософт (по умолчанию).

Ключевые слова Майкрософт в модификаторах __declspec

Эти идентификаторы являются расширенными атрибутами модификатора __declspec . Они считаются ключевыми словами в этом контексте.

Ключевые слова C++/CLI и C++/CX

__abstractf
__boxf
__delegatef
__gcf
__identifier
__nogcf
__noop
__pinf
__propertyf
__sealedf

применимо только к управляемые расширения для C++. В настоящее время использование этого синтаксиса не рекомендуется. Для получения дополнительной информации см. Component Extensions for Runtime Platforms.

g Применимо к C++/CLI.

См. также

Лексические соглашения
Встроенные операторы C++, приоритет и ассоциативность