C++/CX

위키백과, 우리 모두의 백과사전.

C++/CX(C++ component extensions, 씨 플러스 플러스 컴포넌트 확장)는 마이크로소프트윈도 폰 8윈도우 8과 같은 새로운 윈도 런타임을 지원하기 위해 고안한, C++를 확장한 언어 규격이다.

문법이 C++/CLI와 유사하지만, 컴파일한 결과물은 C++/CLI의 Managed Code가 아닌 네이티브 코드다. 현재 비주얼 C++ 2012 이상에서 사용할 수 있다.

구문 변화[편집]

윈도 런타임을 위한 추가 구문을 제외하면, 기본적으로 C++11 표준과 호환되도록 설계되어 있다.

객체 생성[편집]

참조 포인터 ^는 CLI와 같으나 gcnew를 사용하지 않고 신규 키워드 ref new를 사용한다

C++/CLI

Obj^ obj = gcnew Obj();

C++/CX

Obj^ obj = ref new Obj();

클래스 파일 분리[편집]

클래스를 정의하는 부분을 여러개로 나눌 수 있으며 키워드 partial를 사용한다.

// test.internal.h
partial ref class Test
{
private:
    int _priv_num;
};
// test.h
#include "test.internal.h"
ref class Test
{
public:
    int GetNumber();
}
// test.cpp
#include "pch.h"
#include "test.h"
int Test::GetNumber()
{
    return _priv_num;
}

런타임 제네릭[편집]

C++/CX는 윈도 런타임의 런타임 기반 동적 제네릭을 지원한다.

generic <typename T>
public ref class Test
{
private:
    property T Value;
}

같이 보기[편집]

외부 링크[편집]