Ключевые слова (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
дн.
__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++, приоритет и ассоциативность
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по