2016-06-20 20 views
0

を管理することが何であるかに違いがある場合は、この宣言は、C++、CLIのいずれかの違いはありますか?事前に違いは</p> <pre><code>BYTE* p; </code></pre> <p>と</p> <pre><code>BYTE^ p; </code></pre> <p>の違いは何ですかポインタ

おかげ

+1

最初はバイトへのポインタ、2番目はボックス化されたバイトです。 –

+0

はBYTEです。管理拡張のBYTE __gc *と似ていますか? –

+1

そうだと思いますが、私は古い構文を使ったことはありません。これは 'System :: Object ^'と似ていますが、強く型付けされたボックス化された値(単一のバイト)へのハンドルであることが分かっています。 –

答えて

0

BYTE^ pは、シングル、箱入りバイトにあなたの管理ハンドルを与えるだろう。あなたはそれを多用することはできません(あなたはそれを読むことができますし、C++/CLIでも書くことができません;確かにC#ではできません)。そのボックス化されていない形式。これに対して、バイトの古典的なポインタは、配列の最初(または配列内の任意のバイト)にすることができます。

pin_ptrは、前者から後者を与えることができます。

関連する問題