다음을 통해 공유


키워드(C++)

키워드는 특별한 의미가 있는 미리 정의된 예약된 식별자입니다. 이러한 키워드는 프로그램에서 식별자로 사용할 수 없습니다. 다음 키워드는 Microsoft C++에서 예약되었습니다. 선행 밑줄이 있는 이름과 C++/CX 및 C++/CLI에 대해 지정된 이름은 Microsoft 확장명입니다.

표준 C++ 키워드

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

a Microsoft 전용 __asm 키워드는 C++ asm 구문을 대체합니다. asm은 다른 C++ 구현과의 호환성을 위해 예약되었지만 구현되지는 않았으므로 x86 대상의 인라인 어셈블리에는 __asm을 사용합니다. Microsoft C++는 다른 대상에 대한 인라인 어셈블리를 지원하지 않습니다.

b 확장 연산자 동의어는 /permissive- 또는 /Za(언어 확장 사용 안 함)가 지정된 경우의 키워드입니다. 이는 Microsoft 확장을 사용하는 경우의 키워드가 아닙니다.

c /std:c++20 또는 그 이상(예: /std:c++latest )이 지정된 경우 지원됩니다.

Microsoft 전용 C++ 키워드

C++에서 두 개의 연속된 밑줄이 포함된 식별자는 컴파일러 구현용으로 예약되었습니다. Microsoft 규칙은 Microsoft 전용 키워드 앞에 이중 밑줄을 붙이는 것입니다. 이들 단어는 식별자 이름으로 사용할 수 없습니다.

Microsoft 확장은 기본적으로 사용하도록 설정됩니다. 프로그램이 완전하게 이식 가능하도록, 컴파일하는 동안 /permissive- 또는/Za(언어 확장 사용 안 함) 옵션을 지정하여 Microsoft 확장을 사용하지 않을 수 있습니다. 이러한 옵션은 일부 Microsoft 전용 키워드를 사용하지 않도록 설정합니다.

Microsoft 확장을 사용하도록 설정한 경우 Microsoft 관련 키워드를 프로그램에서 사용할 수 있습니다. ANSI 규칙의 준수를 위해 이러한 키워드에는 이중 밑줄이 앞에 옵니다. 이전 버전과의 호환성을 위해 많은 이중 밑줄 키워드에 대해 단일 밑줄 버전이 지원됩니다. __cdecl 키워드는 선행 밑줄 없이 사용할 수 있습니다.

__asm 키워드는 C++ asm 구문을 대체합니다. asm은 다른 C++ 구현과의 호환성을 위해 예약되었지만 구현되지는 않았으므로 __asm을 사용합니다.

__based 키워드는 32비트 및 64비트 대상 컴파일에서 제한적으로 사용됩니다.

d 이벤트 처리에서 사용되는 내장 함수입니다.

e 이전 버전과의 호환성을 위해 이러한 키워드는 Microsoft 확장이 사용하도록 설정된 경우(기본값), 두 개의 선행 밑줄 및 한 개의 선행 밑줄 둘 다와 함께 사용할 수 있습니다.

__declspec 한정자의 Microsoft 키워드

이러한 식별자는 __declspec 한정자에 대한 확장 특성입니다. 이는 해당 컨텍스트 내의 키워드로 간주됩니다.

C++/CLI 및 C++/CX 키워드

__abstract f
__box f
__delegate f
__gc f
__identifier
__nogc f
__noop
__pin f
__property f
__sealed f

f Managed Extensions for C++에만 적용 가능합니다. 이 구문은 이제 사용되지 않습니다. 자세한 내용은 Component Extensions for Runtime Platforms을 참조하세요.

g C++/CLI에 적용 가능합니다.

참고 항목

어휘 규칙
C++ 기본 제공 연산자, 우선 순위 및 결합성