빠른 참조(C++/CX)Quick Reference (C++/CX)

Windows 런타임는 신뢰할 수 있는 운영 체제 환경 에서만 실행 되 고, 권한 있는 함수, 데이터 형식 및 장치를 사용 하며, Microsoft Store를 통해 배포 되는 UWP (유니버설 Windows 플랫폼) 앱을 지원 합니다.The Windows Runtime supports Universal Windows Platform (UWP) apps that execute only in a trustworthy operating system environment, use authorized functions, data types, and devices, and are distributed through the Microsoft Store. C + +/CX는 Windows 런타임에 대 한 앱 작성을 간소화 합니다.The C++/CX simplify the writing of apps for the Windows Runtime. 이 문서는 빠른 참조입니다. 전체 설명서는 형식 시스템을 참조 하세요.This article is a quick reference; for more complete documentation, see Type System.

명령줄에서 빌드할 때 /Zw 컴파일러 옵션을 사용 하 여 UWP 앱 또는 Windows 런타임 구성 요소를 빌드합니다.When you build on the command line, use the /ZW compiler option to build a UWP app or Windows Runtime component. Windows 런타임 메타 데이터 (winmd) 파일에 정의 된 Windows 런타임 선언에 액세스 하려면 #using 지시문 또는 /fu 컴파일러 옵션을 지정 합니다.To access Windows Runtime declarations, which are defined in the Windows Runtime metadata (.winmd) files, specify the #using directive or the /FU compiler option. UWP 앱에 대 한 프로젝트를 만들 때 Visual Studio는 기본적으로 이러한 옵션을 설정 하 고 모든 Windows 런타임 라이브러리에 대 한 참조를 추가 합니다.When you create a project for a UWP app, Visual Studio by default sets these options and adds references to all Windows Runtime libraries.

빠른 참조Quick reference

개념Concept 표준 C++Standard C++ C++/CXC++/CX 설명Remarks
기본 형식Fundamental types C++ 기본 형식C++ fundamental types. Windows 런타임에 정의 된 기본 형식을 구현 하는 c + +/CX 기본 형식입니다.C++/CX fundamental types that implement fundamental types that are defined in the Windows Runtime. default네임 스페이스에는 c + +/cx 기본 제공 기본 형식이 포함 되어 있습니다.The default namespace contains C++/CX built-in, fundamental types. 컴파일러는 c + +/CX 기본 형식을 표준 c + + 형식에 암시적으로 매핑합니다.The compiler implicitly maps C++/CX fundamental types to standard C++ types.

Platform네임 스페이스의 패밀리에는 기본 Windows 런타임 형식을 구현 하는 형식이 포함 되어 있습니다.The Platform family of namespaces contains types that implement fundamental Windows Runtime types.
bool bool 8비트 부울 값입니다.An 8-bit Boolean value.
wchar_t, char16_twchar_t, char16_t char16 유니코드(UTF-16) 코드 포인트를 나타내는 숫자가 아닌 16비트 값입니다.A 16-bit nonnumeric value that represents a Unicode (UTF-16) code point.
short

unsigned short
int16

uint16
16비트 부호 있는 정수입니다.A 16-bit signed integer.

16비트 부호 없는 정수입니다.A 16-bit unsigned integer.
int

unsigned int
int

uint32
32비트 부호 있는 정수입니다.A 32-bit signed integer.

32비트 부호 없는 정수입니다.A 32-bit unsigned integer.
long long 디스크나 __int64long long -or- __int64

unsigned long long
int64

uint64
64비트 부호 있는 정수입니다.A 64-bit signed integer.

64비트 부호 없는 정수입니다.A 64-bit unsigned integer.
float, doublefloat, double float32, float64 32비트 또는 64비트 IEEE 754 부동 소수점 숫자입니다.A 32-bit or 64-bit IEEE 754 floating-point number.
enum enum class

또는-or-

enum struct
32비트 열거형입니다.A 32-bit enumeration.
(해당 없음)(Does not apply) Platform::Guid Platform 네임스페이스의 숫자가 아닌 128비트 값(GUID)입니다.A 128-bit nonnumeric value (a GUID) in the Platform namespace.
std::time_get Windows::Foundation::DateTime 날짜/시간 구조체입니다.A date-time structure.
(해당 없음)(Does not apply) Windows::Foundation::TimeSpan 시간 범위 구조체입니다.A timespan structure.
(해당 없음)(Does not apply) Platform::Object^ Windows 런타임 형식 시스템의 c + + 뷰에서 참조 횟수가 계산 되는 기본 개체입니다.The reference-counted base object in the C++ view of the Windows Runtime type system.
std::wstring

L"..."
Platform::String^ Platform::String^ 은 참조 횟수가 계산된 변경할 수 없는 유니코드 문자의 시퀀스(텍스트를 나타냄)입니다.Platform::String^ is a reference-counted, immutable, sequence of Unicode characters that represent text.
포인터Pointer 개체에 대한 포인터(*)Pointer to object (*):

std::shared_ptr
개체 핸들(^, "햇"으로 발음)Handle-to-object (^, pronounced "hat"):

T ^ 식별자T^ identifier
모든 Windows 런타임 클래스는 개체 핸들 한정자를 사용 하 여 선언 됩니다.All Windows Runtime classes are declared by using the handle-to-object modifier. 개체의 멤버는 화살표(->) 클래스 멤버 액세스 연산자를 사용하여 액세스됩니다.Members of the object are accessed by using the arrow (->) class-member-access operator.

Hat 한정자는 "자동으로 참조 횟수가 계산 되는 Windows 런타임 개체에 대 한 포인터"를 의미 합니다.The hat modifier means "pointer to a Windows Runtime object that is automatically reference counted." 더 정확하게 말하자면, 개체 핸들은 컴파일러가 개체의 참조 횟수를 자동으로 관리하고 참조 횟수가 0이 되면 개체를 삭제하기 위해 코드를 삽입해야 함을 선언합니다.More precisely, handle-to-object declares that the compiler should insert code to automatically manage the object's reference count, and delete the object if the reference count goes to zero.
참조Reference 개체(&)에 대한 참조입니다.Reference to an object (&):

T & 식별자T & identifier
추적 참조(%):Tracking reference (%):

T % 식별자T % identifier
Windows 런타임 형식만 추적 참조 한정자를 사용 하 여 선언할 수 있습니다.Only Windows Runtime types can be declared by using the tracking reference modifier. 개체의 멤버는 점(.) 클래스 멤버 액세스 연산자를 사용하여 액세스됩니다.Members of the object are accessed by using the dot (.) class-member-access operator.

추적 참조는 "자동으로 참조 횟수가 계산 되는 Windows 런타임 개체에 대 한 참조"를 의미 합니다.The tracking reference means "a reference to a Windows Runtime object that is automatically reference counted." 더 정확하게 말하자면, 추적 참조는 컴파일러가 개체의 참조 횟수를 자동으로 관리하고 참조 횟수가 0이 되면 개체를 삭제하기 위해 코드를 삽입해야 함을 선언합니다.More precisely, a tracking reference declares that the compiler should insert code to automatically manage the object's reference count, and delete the object if the reference count goes to zero.
동적 형식 선언Dynamic type declaration new ref new Windows 런타임 개체를 할당 한 다음 해당 개체에 대 한 핸들을 반환 합니다.Allocates a Windows Runtime object and then returns a handle to that object.
개체 수명 관리Object lifetime management delete식별자delete identifier

delete[] 한정자delete[] identifier
소멸자를 호출합니다.(Invokes the destructor.) 수명은 참조 횟수에 따라 결정됩니다.Lifetime is determined by reference counting. 삭제 호출은 소멸자를 호출하지만 자체적으로 메모리를 해제하지는 않습니다.A call to delete invokes the destructor but itself does not free memory.
배열 선언Array declaration T identifier []T identifier []

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

또는-or-

WriteOnlyArray< T ^> 식별자 ( size )WriteOnlyArray< T ^> identifier ( size )
수정 가능하거나 쓰기 전용인 1차원 T^ 형식 배열을 선언합니다.Declares a one-dimensional modifiable or write-only array of type T^. 배열 자체도 개체 핸들 한정자를 사용하여 선언해야 하는 참조 횟수가 계산되는 개체입니다.The array itself is also a reference-counted object that must be declared by using the handle-to-object modifier.

배열 선언에서는 Platform 네임스페이스에 있는 템플릿 헤더 클래스를 사용합니다.(Array declarations use a template header class that is in the Platform namespace.)
클래스 선언Class declaration *class***식별자{}class identifier {}

*struct***식별자{}struct identifier {}
*ref class***식별자{}ref class identifier {}

*ref struct***식별자{}ref struct identifier {}
기본 private 액세스 가능성이 있는 런타임 클래스를 선언합니다.Declares a runtime class that has default private accessibility.

기본 public 액세스 가능성이 있는 런타임 클래스를 선언합니다.Declares a runtime class that has default public accessibility.
구조체 선언Structure declaration *struct***식별자{}struct identifier {}

(즉, POD(Plain Old Data) 구조체)(that is, a Plain Old Data structure (POD))
*value class***식별자{}value class identifier {}

*value struct***식별자{}value struct identifier {}
기본 private 액세스 가능성이 있는 POD 구조체를 선언합니다.Declares a POD struct that has default private accessibility.

값 클래스는 Windows 메타데이터로 표현될 수 있지만 표준 C++ 클래스는 Windows 메타데이터로 표현될 수 없습니다.A value class can be represented in Windows metadata, but a standard C++ class cannot be.

기본 public 액세스 가능성이 있는 POD 구조체를 선언합니다.Declares a POD struct that has default public accessibility.

값 구조체는 Windows 메타데이터로 표현될 수 있지만 표준 C++ 구조체는 Windows 메타데이터로 표현될 수 없습니다.A value struct can be represented in Windows metadata, but a standard C++ struct cannot be.
인터페이스 선언Interface declaration 순수 가상 함수만 포함하는 추상 클래스입니다.abstract class that contains only pure virtual functions. *interface class***식별자{}interface class identifier {}

*interface struct***식별자{}interface struct identifier {}
기본 private 액세스 가능성이 있는 인터페이스를 선언합니다.Declares an interface that has default private accessibility.

기본 public 액세스 가능성이 있는 인터페이스를 선언합니다.Declares an interface that has default public accessibility.
대리자Delegate std::function public delegate return-type delegate-type-identifier ( [ parameters ] );public delegate return-type delegate-type-identifier ( [ parameters ] ); 함수 호출과 같이 호출할 수 있는 개체를 선언합니다.Declares an object that can be invoked like a function call.
이벤트Event (해당 없음)(Does not apply) *event***대리자-형식 식별자 이벤트-식별자;event delegate-type-identifier event-identifier ;

대리자 형식- 식별자 대리자 -식별자 = ref new 대리자-형식-식별자 ( this [, parameters]);delegate-type-identifier delegate-identifier = ref newdelegate-type-identifier( this[, parameters]);

event-identifier += delegate-identifier ;event-identifier += delegate-identifier ;

또는-or-

EventRegistrationToken토큰-식별자 = obj . 이벤트-식별자 += 대리자-식별자;EventRegistrationToken token-identifier = obj.event-identifier+=delegate-identifier;

또는-or-

*auto***토큰-식별자 = obj. 이벤트-식별자 ::add( 대리자-식별자);auto token-identifier = obj. event-identifier::add(delegate-identifier);

obj . event-identifier -= token-identifier ;obj . event-identifier -= token-identifier ;

또는-or-

obj . event-identifier ::remove( token-identifier );obj . event-identifier ::remove( token-identifier );
이벤트가 발생한 경우에 호출되는 이벤트 처리기(대리자) 컬렉션을 저장하는 이벤트 개체를 선언합니다.Declares an event object, which stores a collection of event handlers (delegates) that are called when an event occurs.

이벤트 처리기를 만듭니다.Creates an event handler.

이벤트 처리기를 추가합니다.Adds an event handler.

이벤트 처리기를 추가하면 이벤트 토큰(token-identifier)이 반환됩니다.Adding an event handler returns an event token (token-identifier). 이벤트 처리기를 명시적으로 제거하려면 나중에 사용하도록 이벤트 토큰을 저장해야 합니다.If you intend to explicitly remove the event handler, you must save the event token for later use.

이벤트 처리기를 제거합니다.Removes an event handler.

이벤트 처리기를 제거하려면 이벤트 처리기가 추가될 때 저장한 이벤트 토큰을 지정해야 합니다.To remove an event handler, you must specify the event token that you saved when the event handler was added.
속성Property (해당 없음)(Does not apply) *property***T 식별자property T identifier;

*property***T 식별자 [ 인덱스];property T identifier [ index ];

*property***T default[ 인덱스];property T default[ index ];
클래스 또는 개체 멤버 함수가 데이터 멤버 또는 인덱싱된 배열 요소에 액세스하는 데 사용된 같은 구문을 사용하여 액세스됨을 선언합니다.Declares that a class or object member function is accessed by using the same syntax that's used to access a data member or indexed array element.

클래스 또는 개체 멤버 함수의 속성을 선언합니다.Declares a property on a class or object member function.

개체 멤버 함수의 인덱싱된 속성을 선언합니다.Declares an indexed property on an object member function.

클래스 멤버 함수의 인덱싱된 속성을 선언합니다.Declares an indexed property on a class member function.
매개 변수화된 형식Parameterized types 템플릿templates generic <typename T > interface class 식별자 {}generic <typename T > interface class identifier {}

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

매개 변수화된 대리자를 선언합니다.Declares a parameterized delegate.
Nullable 값 형식Nullable value types boost::optional<T> Platform:: IBox <T>Platform::IBox <T> 스칼라 형식 및 값 구조체의 변수가 값을 가질 수 있도록 nullptr 합니다.Enables variables of scalar types and value structs to have a value of nullptr.

참고 항목See also

C + +/CX 언어 참조C++/CX Language Reference