トップ回答者
C++/CLIでのポインタの操作に関すること

質問
-
回答
-
はなはなはな さんからの引用 ^のポインタは、インクリメント、デクリメントの操作ができないと判断しました。
そもそも、^はポインタではありません。
http://www.microsoft.com/japan/msdn/vs05/visualc/VS05Cplus.aspx#vs05cplus_topic2
^ 演算子は、CLR 参照型へのハンドルとして変数を宣言します
マネージ(日本語訳では「ド」はつけないらしい)のオブジェクトはGCによって移動されることがあります。
ハンドルはメモリ上のアドレスを直接指すものではないため、インクリメント・デクリメントしても意味がないものとみられます。
はなはなはな さんからの引用 反論も歓迎です。(ポインタ操作が自由にできるのならばうれしい。)
pin_ptrを使っては?
http://msdn2.microsoft.com/ja-jp/library/9b1fy41s(VS.80).aspx
すべての返信
-
はなはなはな さんからの引用 ^のポインタは、インクリメント、デクリメントの操作ができないと判断しました。
そもそも、^はポインタではありません。
http://www.microsoft.com/japan/msdn/vs05/visualc/VS05Cplus.aspx#vs05cplus_topic2
^ 演算子は、CLR 参照型へのハンドルとして変数を宣言します
マネージ(日本語訳では「ド」はつけないらしい)のオブジェクトはGCによって移動されることがあります。
ハンドルはメモリ上のアドレスを直接指すものではないため、インクリメント・デクリメントしても意味がないものとみられます。
はなはなはな さんからの引用 反論も歓迎です。(ポインタ操作が自由にできるのならばうれしい。)
pin_ptrを使っては?
http://msdn2.microsoft.com/ja-jp/library/9b1fy41s(VS.80).aspx
-
Egtraさん、ありがとうございます。
検索したら次のようなサイトが見つかりました。海外のMVPの方が書かれたようです。
http://www.voidnish.com/Articles/ShowArticle.aspx?code=pinnedpointers
GCが動かせて、なおかつポインタが使えるんですね。
私ごとでは、C++はあきらめて、C#のアンセーフを使っています。
また、余力がでた時にチャレンジしたいと思います。