C#オブジェクトの配列をマネージC++ DLLに渡しています。C++の配列<T ^>^Tとは何ですか?配列から値を抽出するにはどうすればよいですか?
public class LatLonPointType
{
public double Lat; // Latitude.
public double Lon; // Longitude.
}
私はLatLonPointTypesの配列をマネージC++ DLLの関数に渡します。試行錯誤によって、私は、関数の引数を使用してC++関数にこれを渡すことができることを見出したように宣言:
array <LatLonPointType^> ^PolygonPoints
次のC++のコードでは、^型LatLonPointTypeの要素を抽出します。
LatLonPointType ^a = PolygonPoints[0];
私の質問は以下のとおりです。
私は数年前にC++を使用している、これは参照宣言&に似ているようです。 ^の良い参考文献はありますか?
上記の例で、(LatLonPointType ^)を(LatLonPointType)値に変換するにはどうすればよいですか?
明確にする:
を私が持っている場合:
LatLonPointType ^a = PolygonPoints[i];
にはどうすればいいa.Latとa.Lonになるだろうか?
a-> Latとa-> Lonを使用しますか?
可能性のある重複した[C++/CLIで、帽子の文字が^何をするのでしょうか?] (http://stackoverflow.com/questions/500580/in-c-cli-what-does-the-char-character-do) –
これはC++ではありません。これはMicrosoftのC++標準の破損です。 –
2番はなぜですか?これは、オブジェクトへのポインタを変換するようなものです。もちろん、管理されているポインターを管理されていないポインターに切り替えることができます。 –