2011-02-05 8 views
7

私はIntPtrとは何かを理解できませんでしたが、誰かがこれを説明できますか? ありがとうintptrとは何ですか?

+0

[参照:[IntPtrとは何ですか?](http://stackoverflow.com/questions/1148177/just-what-is-an-intptr-exactly) –

答えて

7

void*の管理対象です。

void*から管理対象コードでの使用のためにキャストすることができます。管理対象のレイヤー(例:C#)で安全でないコードを使用する必要はありません。

8

ポインタと同じサイズの整数です。 32ビット画像では32ビット、64ビット画像では64ワイドです。

0
+0

少なくとも、ドキュメントから関連情報をコピーして貼り付けることによって質問に答えるふりをする。リンクは答えとしての資格を得るには不十分です。 –

+0

私はそのような質問に対する答えを見いだすことがいかに簡単であるかを著者に示したかったのです。 – Xorty

+0

さて、ここの人々からの回答は、私が質問をする前に読んだことがあるmsdnよりはっきりしています。とにかく、努力と善意に感謝します。 –

0

ポインタサイズのブラックボックス。安全でないコード/ポインタをサポートしていない言語があり、APIでIntPtrを使用する必要があることがあります。

私は、その使用方法の多くが安全なハンドルに適しているので、.net 2以降の使用が減少していると思います。

2

ポインタまたはハンドルを表すために使用される.NETプラットフォーム固有の型です。

IntPtr型は、プラットフォーム固有のサイズの整数に設計されています。つまり、このタイプのインスタンスは、32ビットのハードウェアおよびオペレーティングシステムでは32ビット、64ビットのハードウェアおよびオペレーティングシステムでは64ビットとなる予定です。

IntPtr型は、ポインタをサポートする言語で使用でき、ポインタをサポートする言語とサポートしない言語間のデータを参照する一般的な手段として使用できます。

IntPtrオブジェクトを使用してハンドルを保持することもできます。たとえば、IntPtrのインスタンスは、ファイルハンドルを保持するためにSystem.IO.FileStreamクラスで広く使用されます。 (MSDSNから)

+0

外部ソースを引用するときにクレジットを与えてください。 –

関連する問題