====== 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