Ключевые слова (C++)
Ключевые слова — это предварительно определенные зарезервированные идентификаторы, имеющие специальные значения. Их нельзя использовать в качестве идентификаторов в программе. Для Microsoft C++ зарезервированы следующие ключевые слова. Имена с символами подчеркивания и именами, указанными для C++/CX и C++/CLI, являются расширениями Майкрософт.
Стандартные ключевые слова C++
alignas
alignof
and
b
and_eq
b
asm
a
auto
bitand
b
bitor
b
bool
break
case
catch
char
char8_t
c
char16_t
char32_t
class
compl
b
concept
c
const
const_cast
consteval
c
constexpr
constinit
c
continue
co_await
c
co_return
c
co_yield
c
decltype
default
delete
do
double
dynamic_cast
else
enum
explicit
export
c
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-разрядных целевых компиляций.
__alignof
e
__asm
e
__assume
e
__based
e
__cdecl
e
__declspec
e
__event
__except
e
__fastcall
e
__finally
e
__forceinline
e
__hook
d
__if_exists
__if_not_exists
__inline
e
__int16
e
__int32
e
__int64
e
__int8
e
__interface
__leave
e
__m128
Встроенная функция, используемая в обработке событий.
E Для обратной совместимости с предыдущими версиями эти ключевые слова доступны как с двумя основными подчеркиваниями, так и с одним ведущим подчеркиванием при включении расширений Майкрософт (по умолчанию).
Ключевые слова Майкрософт в модификаторах __declspec
Эти идентификаторы являются расширенными атрибутами модификатора __declspec
. Они считаются ключевыми словами в этом контексте.
Ключевые слова C++/CLI и C++/CX
__abstract
f
__box
f
__delegate
f
__gc
f
__identifier
__nogc
f
__noop
__pin
f
__property
f
__sealed
f
применимо только к управляемые расширения для C++. В настоящее время использование этого синтаксиса не рекомендуется. Для получения дополнительной информации см. Component Extensions for Runtime Platforms.
g Применимо к C++/CLI.
См. также
Лексические соглашения
Встроенные операторы C++, приоритет и ассоциативность