クイック リファレンス (C++/CX)
Windows ランタイムでは、ユニバーサル Windows プラットフォーム (UWP) アプリがサポートされています。 これらのアプリは、信頼できるオペレーティング システム環境でのみ実行され、承認された関数、データ型、デバイスを使用し、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 |
Unicode (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^ は、テキストを表す Unicode 文字の、参照カウントが設定された変更不可能なシーケンスです。 |
|
ポインター | オブジェクトへのポインター (* ):std::shared_ptr |
オブジェクトへのハンドル (^ 、「ハット」と発音):T^ identifier |
Windows ランタイムのすべてのクラスは、オブジェクトへのハンドル修飾子を使用して宣言されています。 オブジェクトのメンバーにアクセスするには、矢印 (-> ) クラス メンバー アクセス演算子を使用します。帽子修飾子は、"自動的に参照カウントされるWindows ランタイム オブジェクトへのポインター" を意味します。より正確には、オブジェクトへのハンドルは、コンパイラがオブジェクトの参照カウントを自動的に管理するコードを挿入し、参照カウントがゼロになった場合にオブジェクトを削除する必要があることを宣言します |
リファレンス | オブジェクトへの参照 (& ):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 ) |
型の 1 次元変更可能または書き込み専用の配列を宣言します T^ 。 配列自体も、オブジェクトへのハンドル修飾子を使用して宣言する必要がある、参照カウント オブジェクトです。(配列宣言は、 Platform 名前空間にあるヘッダー テンプレート クラスを使用します。) |
クラス宣言 | class identifier {} struct identifier {} |
ref class identifier {} ref struct identifier {} |
既定 private のアクセシビリティを持つランタイム クラスを宣言します。既定 public のアクセシビリティを持つランタイム クラスを宣言します。 |
構造体宣言 | struct identifier {} (つまり、PODS (Plain Old Data Structure)) |
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 ( [ parameters ]); |
関数呼び出しのように呼び出すことができるオブジェクトを宣言します。 |
イベント | (適用されません) | event delegate-type-identifier event-identifier; delegate-type-identifier delegate-identifier = ref new delegate-type-identifier( this [,parameters]); 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() {} |
パラメーター化されたインターフェイス クラスを宣言します。 パラメーター化されたデリゲートを宣言します。 |
null 許容値型 | std::optional<T> |
Platform::IBox <T> |
スカラー型と value 構造体の変数の値 nullptr を有効にします。 |
関連項目
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示