差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
dotnet:cpp_cli [2009/02/03 12:38] – ともやん | dotnet:cpp_cli [2019/05/18 02:23] (現在) – 外部編集 非ログインユーザー | ||
---|---|---|---|
行 2: | 行 2: | ||
以前のバージョン(Visual Studio 2002、2003)では、C++マネージ拡張(Managed Extensions for C++、または、Managed C++)と呼ばれていて、C++をCLR(Common Language Runtime)向けにMicrosoftが独自拡張したものであった。\\ | 以前のバージョン(Visual Studio 2002、2003)では、C++マネージ拡張(Managed Extensions for C++、または、Managed C++)と呼ばれていて、C++をCLR(Common Language Runtime)向けにMicrosoftが独自拡張したものであった。\\ | ||
\\ | \\ | ||
- | Visual Studio 2005からは、C++/ | + | Visual Studio 2005からは、C++/ |
\\ | \\ | ||
- | 今では「C++マネージ拡張」という言葉はC++/ | + | 今では「C++マネージ拡張」という言葉はC++/ |
\\ | \\ | ||
- | ===== C++マネージ拡張のコード | + | |
+ | ===== 以前の古いコードとの違い ===== | ||
+ | ==== C++マネージ拡張のコード ==== | ||
[C++マネージ拡張] | [C++マネージ拡張] | ||
<code cpp> | <code cpp> | ||
行 36: | 行 38: | ||
* エントリ ポイントなし: | * エントリ ポイントなし: | ||
- | ===== C++/ | + | ==== C++/ |
[C++/CLI] | [C++/CLI] | ||
<code cpp> | <code cpp> | ||
行 60: | 行 62: | ||
* エントリ ポイントなし: | * エントリ ポイントなし: | ||
+ | ===== 3つのクラスとその特徴 ===== | ||
+ | C++/ | ||
+ | ^種類^説明^ | ||
+ | |ネイティブ クラス\\ (native class)| ネイティブC++のクラス。\\ CRT ヒープにメモリが確保されて格納される。| | ||
+ | |refクラス\\ (ref class)| 参照型と呼ばれ System.Object から暗黙的に派生している。\\ Framework クラス ライブラリの殆どの型は参照型である。\\ マネージ ヒープにメモリが確保されて格納される。| | ||
+ | |valueクラス\\ (value class)| 値型と呼ばれ System.ValueType から暗黙的に派生している。\\ CTS(共通型システム)の組み込み型であるSystem.Byte、System.Int32、System.Boolean、 System.Char、System.Decimalなどの構造体や列挙体は値型である。列挙体は特殊な値型であり、組み込みの符号付きまたは符号なし整数型をベースとし、System.Enumから派生している。\\ 値型はスレッドのスタックメモリに領域が確保されて格納される。| |