[C++ CLI ] Operator Overloading
-
Hi,
ich möchte eine Lib in C++ CLI schreiben und die sowohl in C++ CLI Apps wie auch in C# Apps verwenden. In dieser Lib kommen Klassen vor die Operatoren haben und jetzt fängt das Problem an.Ich habe nun zwei Möglichkeiten
1.)
Vector3^ operator += ( Vector3^ value );
2.)
Vector3 operator += ( Vector3 value );
Problem bei der ersten Möglichkeit:
Die Operatoren können in C# ganz normal genutzt werden, allerdings nicht in C++ auf dem Stack erstellt werden und dabei die Operatoren nutzen, sondern nur auf dem Heap.Problem bei der zweiten Möglichkeit:
Ich kann die Klasse in C++ auf dem Stack erstellen und die Operatoren nutzen, aber di Operatoren können in C# gar nicht mehr genutzt werden.Ich habe mir mal die Vektoren von Managed DirectX zu Gemüte geführt und erkannt das beides geht: Ich kann die die Klasse in C++ auf dem Stack erstellen und die Operatoren nutzen und die Klasse auch in C# ganz normal nutzen.
Wenn ich die Lib in C# schreibe, geht es. Da ich aber einiges Optimieren will, wäre mir C++ CLI lieber.