私はIntPtrとは何かを理解できませんでしたが、誰かがこれを説明できますか? ありがとうintptrとは何ですか?
答えて
void*
の管理対象です。
void*
から管理対象コードでの使用のためにキャストすることができます。管理対象のレイヤー(例:C#)で安全でないコードを使用する必要はありません。
ポインタと同じサイズの整数です。 32ビット画像では32ビット、64ビット画像では64ワイドです。
少なくとも、ドキュメントから関連情報をコピーして貼り付けることによって質問に答えるふりをする。リンクは答えとしての資格を得るには不十分です。 –
私はそのような質問に対する答えを見いだすことがいかに簡単であるかを著者に示したかったのです。 – Xorty
さて、ここの人々からの回答は、私が質問をする前に読んだことがあるmsdnよりはっきりしています。とにかく、努力と善意に感謝します。 –
ポインタサイズのブラックボックス。安全でないコード/ポインタをサポートしていない言語があり、APIでIntPtrを使用する必要があることがあります。
私は、その使用方法の多くが安全なハンドルに適しているので、.net 2以降の使用が減少していると思います。
ポインタまたはハンドルを表すために使用される.NETプラットフォーム固有の型です。
IntPtr型は、プラットフォーム固有のサイズの整数に設計されています。つまり、このタイプのインスタンスは、32ビットのハードウェアおよびオペレーティングシステムでは32ビット、64ビットのハードウェアおよびオペレーティングシステムでは64ビットとなる予定です。
IntPtr型は、ポインタをサポートする言語で使用でき、ポインタをサポートする言語とサポートしない言語間のデータを参照する一般的な手段として使用できます。
IntPtrオブジェクトを使用してハンドルを保持することもできます。たとえば、IntPtrのインスタンスは、ファイルハンドルを保持するためにSystem.IO.FileStreamクラスで広く使用されます。 (MSDSNから)
外部ソースを引用するときにクレジットを与えてください。 –
これは、CおよびC++型intptr_tについてですが、原理は同じです。 What is uintptr_t data type
- 1. IntPtrからIntPtrへデータをコピー
- 2. ハンドル(IntPtr)kernel32.dll、SafeFileHandle to IntPtr
- 3. JavaのMarshal.ReadIntPtr(IntPtr)(C#)に相当するものは何ですか?
- 4. COMのIntPtrとAs Any Any
- 5. IntPtr +サイズからマネージバイト配列を作成することはできますか?
- 6. IntPtr to Uint32? C#
- 7. C#、IntPtrのデフォルトパラメータ値
- 8. C#でIntPtrにCodeElementsをマーシャリングする
- 9. プロセス/アプリケーション間でIntPtrを渡す方法
- 10. フォームのIntPtrが必要(VB.Net)
- 11. C#でIntPtrをint *に変換しますか?
- 12. IntPtrをストリームに変換するにはどうすればよいですか?
- 13. IntPtrを渡してC#でデータを取得する方法は?
- 14. は、私は2010年のC#Visual Studioでこのライン持ちのIntPtrとのInt
- 15. C#IntPtrをintに変換する
- 16. IntPtrが指すメモリの内容をC#
- 17. IPM.Noteとは何ですか?その用途は何ですか?
- 18. @privateとは何ですか?その用途は何ですか?
- 19. コピーオンライトとは何ですか?
- 20. @AttributeOverrideとは何ですか?
- 21. スケジューリングジッタとは何ですか?
- 22. プログレッシブエンハンスメントとは何ですか?
- 23. 「ベンチテストコード」とは何ですか?
- 24. タイプセーフティとは何ですか?
- 25. 「ラムダリフティング」とは何ですか?
- 26. rgbReservedとは何ですか?
- 27. Sqliteとは何ですか?
- 28. tiny_free_list_add_ptrとは何ですか?
- 29. sun.jnu.encodingとは何ですか?
- 30. シリアライゼーションプロキシパターンとは何ですか?
[参照:[IntPtrとは何ですか?](http://stackoverflow.com/questions/1148177/just-what-is-an-intptr-exactly) –