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

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

__abstract 2

Оператор __alignof

__asm

__assume

__based

__box 2

__cdecl

__declspec

__delegate 2

__event

__except

__fastcall

__finally

__forceinline

__gc 2

__hook 3

__identifier

__if_exists

__if_not_exists

__inline

__int16

__int32

__int64

__int8

__interface

__leave

__m128

__m128d

__m128i

__m64

__multiple_inheritance

__nogc 2

__noop

__pin 2

__property 2

__raise

__sealed 2

__single_inheritance

__stdcall

__super

__thiscall

__try/__except, __try/__finally

__try_cast 2

__unaligned

__unhook 3

__uuidof

__value 2

__virtual_inheritance

__w64

__wchar_t, wchar_t

abstract

array

auto

bool

break

case

catch

char

класс

const

const_cast

continue

decltype

default

делегат

удаление;

deprecated 1

dllexport 1

dllimport 1

do

double

dynamic_cast

else

enum

класс перечисления

структура перечисления

событие

explicit

extern

false

finally

float

for

for each, in

friend

friend_as

gcnew

generic

goto

if

initonly

inline

int

класс интерфейса

структура интерфейса

interior_ptr

literal

long

mutable

naked 1

namespace

new

new

noinline 1

noreturn 1

nothrow 1

novtable 1

nullptr

оператор

private

свойство;

property 1

protected

public

ref class

ref struct

register

reinterpret_cast

return

safecast

sealed

selectany 1

short

signed

sizeof

static

static_assert

static_cast

struct

switch

шаблон

this

thread 1

throw

true

try

typedef

typeid

typeid

typename

union

без знака

объявление using, директива using

uuid 1

класс значений

структура значений

virtual

void

volatile

while

1   Расширенные атрибуты для ключевого слова __declspec.

2   Применяется только к управляемым расширениям для C++. В настоящее время использование этого синтаксиса не рекомендуется.

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

Дополнительные сведения см. в разделе Функции языка для платформы CLR.

Блок, относящийся только к системам Microsoft

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

Расширения Microsoft по умолчанию включены. Чтобы обеспечить полную переносимость программ, можно отключить расширения Microsoft, задав во время компиляции совместимый со стандартом ANSI параметр командной строки /Za (компилировать для совместимости с ANSI). При этом ключевые слова для систем Microsoft будут отключены.

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

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

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

См. также

Ссылки

Лексические соглашения

Операторы C++