ポインタの比較
宣言
|
ポインタ |
参照 |
ポインタ参照 |
C++ |
* |
& |
*& |
C++/CLI |
unmanaged |
* |
& |
*& |
managed |
^ ※1 |
% |
^% ※2 |
C# |
---※3 |
※1 正確には「トラッキング ハンドル (tracking handle)」
CLR 参照クラスのオブジェクトの宣言 | MSDN
Declaration of a CLR Reference Class Object
※2 正確には「トラッキング参照 (tracking reference) / 追跡参照」
方法: C++/CLI で追跡参照を使用する | MSDN
How to: Use Tracking References in C++-CLI
※3 アンセーフを使用すれば、C++形式のポインタを使用できます。
空ポインタ
キーワード
C++ |
NULL |
C++/CLI |
unmanaged |
NULL |
managed |
nullptr |
C# |
null |
ポインタの固定
カベージコレクションによって、メモリのアドレスが変更されるのを防ぐ方法です。
C++ |
--- (不要) |
C++/CLI |
unmanaged |
--- (不要) |
managed |
pin_ptr
Int32^ i = gcnew Int32(10);
pin_ptr< int > p = &static_cast< int >( i );
|
C# |
fixedステートメント
fixed( int* p = &i )
{
}
|