빠른 참조(C++/CX)

Windows 런타임 UWP(유니버설 Windows 플랫폼) 앱을 지원합니다. 이러한 앱은 신뢰할 수 있는 운영 체제 환경에서만 실행되고, 권한 있는 함수, 데이터 형식 및 디바이스를 사용하며, Microsoft Store를 통해 배포됩니다. C++/CX는 Windows 런타임 대한 앱 작성을 간소화합니다. 이 문서는 빠른 참조입니다. 자세한 내용은 형식 시스템을 참조 하세요.

명령줄에서 빌드하는 경우 컴파일러 옵션을 사용하여 /ZW UWP 앱 또는 Windows 런타임 구성 요소를 빌드합니다. Windows 런타임 메타데이터(.winmd) 파일에 정의된 Windows 런타임 선언에 액세스하려면 지시문 또는 /FU 컴파일러 옵션을 지정 #using 합니다. UWP 앱에 대한 프로젝트를 만들 때 Visual Studio는 기본적으로 이러한 옵션을 설정하고 모든 Windows 런타임 라이브러리에 참조를 추가합니다.

빠른 참조

개념 표준 C++ C++/CX 설명
기본 형식 C++ 기본 형식 Windows 런타임 정의된 기본 형식을 구현하는 C++/CX 기본 형식입니다. 네임스페이스에는 default 기본 제공 C++/CX 기본 형식이 포함되어 있습니다. 컴파일러는 C++/CX 기본 형식을 표준 C++ 형식에 암시적으로 매핑합니다.

Platform 네임스페이스의 패밀리에는 기본 Windows 런타임 형식을 구현하는 형식이 포함되어 있습니다.
bool bool 8비트 부울 값입니다.
wchar_t, char16_t char16 유니코드(UTF-16) 코드 포인트를 나타내는 숫자가 아닌 16비트 값입니다.
short

unsigned short
int16

uint16
16비트 부호 있는 정수입니다.

16비트 부호 없는 정수입니다.
int

unsigned int
int

uint32
32비트 부호 있는 정수입니다.

32비트 부호 없는 정수입니다.
long long 또는 __int64

unsigned long long
int64

uint64
64비트 부호 있는 정수입니다.

64비트 부호 없는 정수입니다.
float, double float32, float64 32비트 또는 64비트 IEEE 754 부동 소수점 숫자입니다.
enum enum class

또는

enum struct
32비트 열거형입니다.
(적용되지 않음) Platform::Guid Platform 네임스페이스의 숫자가 아닌 128비트 값(GUID)입니다.
std::time_get Windows::Foundation::DateTime 날짜/시간 구조체입니다.
(적용되지 않음) Windows::Foundation::TimeSpan 시간 범위 구조체입니다.
(적용되지 않음) Platform::Object^ Windows 런타임 형식 시스템의 C++ 뷰에서 참조 계산된 기본 개체입니다.
std::wstring

L"..."
Platform::String^ Platform::String^ 은 참조 횟수가 계산된 변경할 수 없는 유니코드 문자의 시퀀스(텍스트를 나타냄)입니다.
포인터 개체에 대한 포인터(*)

std::shared_ptr
개체 핸들(^, "햇"으로 발음)

T^ identifier
모든 Windows 런타임 클래스는 핸들-개체 한정자를 사용하여 선언됩니다. 개체의 멤버는 화살표(->) 클래스 멤버 액세스 연산자를 사용하여 액세스됩니다.

hat 한정자는 "자동으로 참조되는 Windows 런타임 개체에 대한 포인터"를 의미합니다. 보다 정확하게 말하자면, 핸들-개체는 컴파일러가 개체의 참조 수를 자동으로 관리하는 코드를 삽입하고 참조 수가 0으로 이동하면 개체를 삭제해야 한다고 선언합니다.
참조 개체(&)에 대한 참조입니다.

T& identifier
추적 참조(%):

T% identifier
추적 참조 한정자를 사용하여 Windows 런타임 형식만 선언할 수 있습니다. 개체의 멤버는 점(.) 클래스 멤버 액세스 연산자를 사용하여 액세스됩니다.

추적 참조는 "자동으로 참조되는 Windows 런타임 개체에 대한 참조"를 의미합니다. 더 정확하게 말하면 추적 참조는 컴파일러가 개체의 참조 수를 자동으로 관리하는 코드를 삽입해야 한다고 선언합니다. 참조 수가 0으로 설정되면 코드에서 개체를 삭제합니다.
동적 형식 선언 new ref new Windows 런타임 개체를 할당한 다음 해당 개체에 대한 핸들을 반환합니다.
개체 수명 관리 delete identifier

delete[] identifier
소멸자를 호출합니다. 수명은 참조 횟수에 따라 결정됩니다. 소멸자를 호출하는 delete 호출이지만 그 자체는 메모리를 해제하지 않습니다.
배열 선언 T identifier[]

std::array identifier
Array<T^>^ identifier( size )

-또는-

WriteOnlyArray<T^> identifier( size )
형식 T^의 1차원 수정 가능 또는 쓰기 전용 배열을 선언합니다. 배열 자체도 개체 핸들 한정자를 사용하여 선언해야 하는 참조 횟수가 계산되는 개체입니다.

배열 선언에서는 Platform 네임스페이스에 있는 템플릿 헤더 클래스를 사용합니다.
클래스 선언 class identifier {}

struct identifier {}
ref class identifier {}

ref struct identifier {}
기본 private 접근성이 있는 런타임 클래스를 선언합니다.

기본 public 접근성이 있는 런타임 클래스를 선언합니다.
구조체 선언 struct identifier {}

(즉, POD(Plain Old Data) 구조체)
value class identifier {}

value struct identifier {}
기본 private 접근성이 있는 POD 구조체를 선언합니다.

A는 value class Windows 메타데이터로 나타낼 수 있지만 표준 C++ class 는 나타낼 수 없습니다.

기본 public 접근성이 있는 POD 구조체를 선언합니다.

A는 value struct Windows 메타데이터로 나타낼 수 있지만 표준 C++ struct 는 나타낼 수 없습니다.
인터페이스 선언 순수 가상 함수만 포함하는 추상 클래스입니다. interface class identifier {}

interface struct identifier {}
기본 private 접근성이 있는 인터페이스를 선언합니다.

기본 public 접근성이 있는 인터페이스를 선언합니다.
대리인 std::function public delegate return-type delegate-type-identifier ([ 매개 변수 ]); 함수 호출과 같이 호출할 수 있는 개체를 선언합니다.
이벤트 (적용되지 않음) event delegate-type-identifier event-identifier;

delegate-type-identifier delegate-identifier = ref new delegate-type-identifier( this[, 매개 변수]);

event-identifier += *delegate-identifier;

또는

EventRegistrationToken token-identifier = object.event-identifier += delegate-identifier;

또는

auto token-identifier = object.event-identifier::add( delegate-identifier );

object.event-identifier -= token-identifier;

또는

object.event-identifier::remove( token-identifier );
event 이벤트가 발생할 때 호출되는 이벤트 처리기(대리자) 컬렉션을 저장하는 개체를 선언합니다.

이벤트 처리기를 만듭니다.

이벤트 처리기를 추가합니다.

이벤트 처리기를 추가하면 이벤트 토큰(token-identifier)이 반환됩니다. 이벤트 처리기를 명시적으로 제거하려면 나중에 사용하도록 이벤트 토큰을 저장해야 합니다.

이벤트 처리기를 제거합니다.

이벤트 처리기를 제거하려면 이벤트 처리기가 추가될 때 저장한 이벤트 토큰을 지정해야 합니다.
속성 (적용되지 않음) property T identifier;

property T identifier[ index ];

property T default[ index ];
클래스 또는 개체 멤버 함수가 데이터 멤버 또는 인덱싱된 배열 요소에 액세스하는 데 사용된 같은 구문을 사용하여 액세스됨을 선언합니다.

클래스 또는 개체 멤버 함수의 속성을 선언합니다.

개체 멤버 함수의 인덱싱된 속성을 선언합니다.

클래스 멤버 함수의 인덱싱된 속성을 선언합니다.
매개 변수화된 형식 템플릿 generic <typename T> interface class identifier {}

generic <typename T > delegate[return-type]delegate-identifier() {}
매개 변수화된 인터페이스 클래스를 선언합니다.

매개 변수화된 대리자를 선언합니다.
Nullable 값 형식 std::optional<T> Platform::IBox <T> 스칼라 형식 및 value 구조체의 변수에 값을 nullptr사용할 수 있습니다.

참고 항목

C++/CX 언어 참조