런타임 플랫폼의 구성 요소 확장

Visual C++ 언어 확장 런타임 플랫폼을 대상으로 프로그래밍할 수 있도록 제공 합니다.사용 하 여 Visual C++ 구성 요소 확장 (C++/CX)를 프로그래밍할 수 Windows 스토어 기계어 코드로 컴파일 구성 요소 및 응용 프로그램.만들 수도 있지만 Windows 스토어 에 대해 직접 프로그래밍 하 여 응용 프로그램의 Windows 런타임 COM 인터페이스를 사용 하 여 C++/CX, 생성자, 예외 및 프로그래밍 구문이 다른 최신 C++를 사용할 수 있습니다.사용 하 여.net 플랫폼에서 관리 되는 실행 환경에서 C++ 프로그래밍 가능 C++/CLI.

두 런타임, 확장 집합

C++/CX은 C++/CLI의 하위 집합입니다.공통 되는 확장에 대 한 C++/CX 및 C++/CLI, 의미는 공용 언어 런타임 (CLR) 대상 여부에 따라 달라 집니다 나는 Windows 런타임.컴파일할 응용 프로그램을 실행 하는 Windows 런타임, 지정은 /ZW 컴파일러 옵션.CLR에서 실행 되도록 컴파일 하려면 지정 된 /clr 컴파일러 옵션.Visual Studio 사용 하 여 프로젝트를 만들 때 이러한 스위치는 자동으로 설정 됩니다.

만드는 방법에 대 한 자세한 내용은 Windows 스토어 C++에서 응용 프로그램을 참조 하십시오. Roadmap for Windows Store apps using C++.

C++/CLIISO/ANSI C++ 표준, 확장 및 Ecma에서 정의 된 C++/CLI 표준.자세한 내용은 .Visual C++에서 NET 프로그래밍을 참조하십시오.

데이터 형식 키워드

언어 확장을 포함 집계 키워드, 키워드는 공백으로 구분 된 두 개의 토큰으로 구성 된.함께 사용 되는 경우 토큰 하나의 의미를 개별적으로 사용할 때와 다른 의미가 있을 수 있습니다.예를 들어, "ref" word에서 일반 식별자 이며 단어 "클래스"에서 네이티브 클래스를 선언 하는 키워드입니다.하지만 이러한 단어 폼에 결합 되 면 ref class, 결과 집계 키워드 라고 엔터티 선언에 런타임 클래스.

또한 확장 포함 상황에 맞는 키워드.키워드를 포함 한 해당 문의 위치 문의 종류에 따라 상황에 맞는 처리 됩니다.예를 들어, "속성" 토큰 식별자 이거나 특수 한 공용 클래스 멤버를 선언할 수 있습니다.

다음 키워드는 C++ 언어 확장에서입니다.

키워드

상황에 맞는

용도

참조

ref class

ref struct

아니요

클래스를 선언합니다.

클래스 및 구조체(C++ 구성 요소 확장)

value class

value struct

아니요

값 클래스를 선언합니다.

클래스 및 구조체(C++ 구성 요소 확장)

interface class

interface struct

아니요

인터페이스를 선언합니다.

interface 클래스(C++ 구성 요소 확장)

enum class

enum struct

아니요

열거형을 선언 합니다.

enum 클래스(C++ 구성 요소 확장)

property

속성을 선언합니다.

속성(C++ 구성 요소 확장)

delegate

대리자를 선언합니다.

delegate(C++ 구성 요소 확장)

event

이벤트를 선언합니다.

event(C++ 구성 요소 확장)

재정의 지정자

다음 키워드를 사용 하 여 파생에 대 한 재정의 동작을 한 정하는 데 있습니다.하지만 new 키워드는 C++의 확장, 추가 컨텍스트를 사용할 수 있기 때문에 여기 나열 됩니다.일부 지정자 네이티브 프로그래밍에도 유효합니다.자세한 내용은 방법: 네이티브 컴파일에 재정의 지정자를 선언을 참조하십시오.

키워드

상황에 맞는

용도

참조

abstract

함수나 클래스를 추상 임을 나타냅니다.

abstract(C++ 구성 요소 확장)

new

아니요

함수 재정의 기본 클래스 버전의 임을 나타냅니다.

new(vtable의 새 슬롯)(C++ 구성 요소 확장)

override

메서드 재정의 기본 클래스 버전의 수를 나타냅니다.

override(C++ 구성 요소 확장)

sealed

클래스를 기본 클래스로 사용할 수 없습니다.

sealed(C++ 구성 요소 확장)

제네릭에 대 한 키워드

다음 키워드 제네릭 형식을 지원 하기 위해 추가 되었습니다.자세한 내용은 제네릭(C++ 구성 요소 확장)을 참조하십시오.

키워드

상황에 맞는

용도

generic

아니요

제네릭 형식으로 선언합니다.

where

제네릭 형식 매개 변수에 적용 되는 제약 조건을 지정 합니다.

기타 키워드

다음 키워드는 C++ 확장에 추가 되었습니다.

키워드

상황에 맞는

용도

참조

finally

기본 예외 handlings 동작을 나타냅니다.

예외 처리(C++ 구성 요소 확장)

for each, in

아니요

컬렉션의 요소를 열거합니다.

각에 대해의

gcnew

아니요

가비지 수집 된 힙의 형식은 할당합니다.Use instead of new and delete.

ref new, gcnew(C++ 구성 요소 확장)

ref new

할당 된 Windows 런타임 형식입니다.Use instead of new and delete.

ref new, gcnew(C++ 구성 요소 확장)

initonly

멤버 선언 또는 정적 생성자는 초기화만 할 수 있음을 나타냅니다.

initonly

literal

리터럴 변수를 만듭니다.

리터럴(C++ 구성 요소 확장)

nullptr

아니요

핸들이 나 포인터가 개체를 가리키고 있지 않습니다 나타냅니다.

nullptr(C++ 구성 요소 확장)

템플릿 구문

다음 언어 구문으로 키워드 대신 서식 파일로 구현 됩니다.지정 하는 경우는 /ZW 에서 정의 되며 컴파일러 옵션 들의 lang 네임 스페이스.지정 하는 경우는 /clr 에서 정의 되며 컴파일러 옵션 들의 cli 네임 스페이스.

키워드

용도

참조

array

배열을 선언합니다.

배열(C++ 구성 요소 확장)

interior_ptr

(CLR에만 해당) 포인트 데이터에 대 한 참조를 입력합니다.

interior_ptr(C++/CLI)

pin_ptr

(CLR에만 해당) 가비지 수집 시스템을 일시적으로 억제 CLR 참조 형식 가리킵니다.

pin_ptr(C++/CLI)

safe_cast

결정 하 고 런타임 형식에 대 한 최적의 캐스팅 메서드를 실행 합니다.

safe_cast(C++ 구성 요소 확장)

typeid

(CLR에만 해당) 검색은 System.Type 개체는 지정 된 형식이 나 개체에 설명 합니다.

typeid(C++ 구성 요소 확장)

선언자

다음 형식 선언 자 수명 및 할당 된 개체의 삭제를 자동으로 관리 하도록을 지시 합니다.

Operator

용도

참조

^

핸들 개체를 선언합니다. 즉, 포인터는 Windows 런타임 또는 CLR 개체가 더 이상 사용할 수 없는 경우에 자동으로 삭제 됩니다.

개체 연산자에 대한 핸들(^)(C++ 구성 요소 확장)

%

추적 참조를 선언합니다. 즉, 참조 하는 Windows 런타임 또는 CLR 개체가 더 이상 사용할 수 없는 경우에 자동으로 삭제 됩니다.

추적 참조 연산자(C++ 구성 요소 확장)

추가 구문 및 관련된 항목

이 여기서 추가 프로그래밍 구성 및 CLR에 관련 된 항목을 나열 합니다.

항목

설명

__identifier(C++/CLI)

(Windows 런타임 and CLR) 키워드를 사용 하는 식별자로 사용 합니다.

가변 길이 인수 목록(...)(C++/CLI)

(Windows 런타임 and CLR) 함수가 가변 개수의 인수 걸릴 수 있습니다.

C++ 네이티브 형식에 해당하는 .NET Framework(C++/CLI)

C + + 정수 계열 형식 대신에 사용 되는 CLR 형식을 보여 줍니다.

appdomain__declspec한정자

__declspecappdomain 당 존재 하는 정적 및 전역 변수를 요구 하는 한정자입니다.

/clr을 사용한 C 스타일 캐스트(C++/CLI)

C 스타일 캐스트의 해석 방법에 대해 설명 합니다.

__clrcall호출 규칙

CLR 호환 호출 규칙을 나타냅니다.

__cplusplus_cli

미리 정의 된 매크로

사용자 지정 특성 (C++)

사용자 고유의 CLR 특성을 정의 하는 방법을 설명 합니다.

예외 처리(C++ 구성 요소 확장)

예외 처리의 개요를 제공합니다.

명시적 재정의(C++ 구성 요소 확장)

멤버 함수 임의의 멤버를 재정의 하는 방법을 보여 줍니다.

Friend 어셈블리 (C++)

클라이언트 어셈블리에서 어셈블리 컴포넌트는 모든 종류에 액세스 하는 방법에 대해 설명 합니다.

Boxing(C++ 구성 요소 확장)

어떤 값에서 형식을 박스형 된 조건을 보여 줍니다.

형식 특성에 대한 컴파일러 지원(C++ 구성 요소 확장)

컴파일 타임에 형식의 특성을 검색 하는 방법에 설명 합니다.

managed, unmanagedpragma

관리 및 관리 되지 않는 함수를 보여 줍니다. 동일한 모듈에 사용할 수 있습니다.

process__declspec한정자

__declspec프로세스 마다 존재 하는 정적 및 전역 변수를 요구 하는 한정자입니다.

리플렉션(C++/CLI)

CLR 버전을 런타임 형식 정보를 보여 줍니다.

문자열(C++ 구성 요소 확장)

설명 문자열 리터럴 컴파일러 변환 String.

형식 전달(C++/CLI)

클라이언트 코드 다시 컴파일할 필요가 없도록 배송 어셈블리에 다른 어셈블리 형식의 움직임을 수 있습니다.

사용자 정의 특성(C++ 구성 요소 확장)

사용자 정의 특성을 보여 줍니다.

# 지시문 (c)

외부 어셈블리를 가져옵니다.

XML 문서(Visual C++)

XML 기반 코드 설명서를 사용 하 여 설명합니다./doc(문서 주석 처리)(C/C++)

참고 항목

기타 리소스

.Visual C++에서 NET 프로그래밍

네이티브 및 .NET 상호 운용성