====== Visual C++ Language Reference (C++/CX) ====== ===== Quick Reference (C++/CX) ===== * 사이트 : [[https://docs.microsoft.com/ko-kr/cpp/cppcx/quick-reference-c-cx|quick-reference-c-cx]] /ZW 컴파일 옵션을 켜면 UWP 앱을 빌드하는 것으로 간주. /FU 옵션이 켜져 있으면 런타임 메타 데이터 사용? 'default' 네임스페이스가 기본 'Platform' 윈도우즈 런타임 타입을 가리킨다. 비교 __wchar_t char16 // UTF-16이라네 int int // int는 32비트 long long int64, uint64 __int64 float float32, float64 double enum {} enum class {} enum struct {} std::time_get Windows::Foundation::DateTime std::wstring Platform::String^ L".." // 포인터 : 포인터가 좀 다르다. 포인터(*) ^ , _TYPE_^ _ID_ std::shared_ptr // 멤버 접근은 '->'로. // '^' 자동으로 레퍼런스 카운팅을 합니다라는 뜻이라는데. //레퍼런스 Object& Object% _TYPE_& _ID_ _TYPE_% _ID_ // 트래킹 레퍼런스(Tracking reference)라는 좀 다른 개념 // 멤버 사용할때는 '.'을 사용한다. // 동적선언 new ref new // 삭제 delete, delete[] 자동삭제 // 레퍼런스 카운팅에 삭제 여부를 자동 결정. // 배열 TYPE _ID_ [] Arry< _TYPE_ ^>^ _ID_( _SIZE_ ) std::array WriteOnlyArray< _TYPE_ ^>^ _ID_( _SIZE_ ) // 오브젝트 제어자를(handle-to-object) 사용해야 한다. // 클래스 class _ID_ {} ref class _ID_ {} struct _ID_ {} ref struct _ID_ {} // private 접근성을 가진 클래스 생성 // public 접근성을 가진 클래스 생성 // 구조체 strcut _ID_ {} value class _ID_ {} value struct _ID_ {} // 윈도우즈 메타 데이터를 표시한다는데? // interface abstruct class interface class _ID_ {} pure virtual 을 가진 interface struct _ID_ {} // 델리게이트 std::function public delegate _RETURN_ _DELEGATE_TYPE_ID_ ([ _PARAM_ ]) // 가변타입 (Parameterized types) templates generic interface class _ID_ {} generic delegate _RET_TYPE_ _DELEGATE_ID_ () {} // 널값에 대한 처리 boost::optional<_TYPE_> Platform::IBox<_TYPE_> 단독 Platform::Guid 128비트 GUID Windows::Foundation::TimeSpan timespan 구조체 | Platform::Object^ 레퍼런스 카운트 기반의 윈도우 런타임 타입 시스템 // event - begin event _DELEGATE_TYPE_ID_ _EVENT_ID_ ; _DELEGATE_TYPE_ID_ _DELEGATE_ID_ = ref new _DELEGATE_TYPE_ID_( this, [_PARAM_] ); // event - 등록 _EVENT_ID_ += _DELEGATE_ID_ ; (or) EventRegistrationToken _TOKEN_ID_ = _OBJ_ . _EVENT_ID_ += _DELEGATE_ID_; (or) auto _TOKEN_ID_ = _OBJ_ . _EVENT_ID_ ::add( _DELEGATE_ID_ ); // event - 삭제 _OBJ_ . _EVENT_ID_ -= _TOKEN_ID_ ; (or) _OBJ_ . _EVENT_ID_ ::remove( _TOKEN_ID_ ) ; // event - end // 프로퍼티 property _TYPE_ _ID_ ; property _TYPE_ _ID_ [ _INDEX_ ] ; property _TYPE_ default [ _INDEX_ ] ; ====== UWP 프레임워크 정의 ====== Windows::ApplicationModel::Core::IFrameworkView 매니페스트 ===== 보기를 표시하도록 DirectX Windows 스토어 앱을 설정하는 방법 ===== ==== 뷰만들기와 초기화 ==== ====== DX ====== UWP 앱에 DirectX 지원하려면 * IFrameworkViewSource * IFrameworkView 인터페이스 구현 ====== UWP Hello World ===== https://docs.microsoft.com/ko-kr/windows/uwp/get-started/create-a-basic-windows-10-app-in-cpp