Hi. Ich bins mal wieder.
ich hab nun durch die zahlreichen beiträge zu meinem Posting zur Dreieckspeilung eine Funktion programmiert um die Koordinaten eines Punktes zu berechnen.
das Problem ist, dass ich diese Funktion gerne in eine Dll stecken möchte(ich hab so ne dll, wo ich alle meine nützlichsten funktionen sammle, man weiss ja nie). jedenfalls möchte ich keine Variablen Global im Listing der header-datei deklarieren, sondern vielmehr ein Array als rückgabetyp(die funktion soll zwei werte vom typ int zurückgeben).
Danke im voraus.
Programmieren - alles kontrollieren 4.941 Themen, 20.715 Beiträge
Bei mir gibts anstatt von den üblichen Set/Get Methoden noch weitere genau für solche Fälle.
Gibt eine Get-Methode einen Pointer zurück, so bleibt der be-pointerte Speicherbereich im Besitz der Methode. Das heißt, dass die Methode irgendwann den Speicher freigeben muss. Nur selten weis aber so eine Methode wann ihr Aufrufer den Speicher nicht mehr braucht.
Deshalb gibts auch eine Make-Methode. Die gibt den Speicher zurück und kümmert sich in Zukunft nicht mehr drum. Der Aufrufer ist dann verantwortlich dafür den Speicherbereich zu deleten.
Als Alternative gibts da auch noch Put-Methoden. Denen geb ich den zu füllenden Speicherbereich beim Aufruf mit. Die Put-Methode hat den nachteil das ich voher manchmal nicht weis wie groß der Speicherbereich sein muss.
In der STL (oder irgendwo in der Gegend) gibt es Auto-ptr Konstrukte die dir auch weiter helfen könnten. Leider kenne ich mich damit auch nicht aus, drum kann ich dir auch nicht mehr als den Namen hinschmeissen.
Um das ganze von hinten aufzuziehen: Versuchs mal mit 'nem Garbage Collector. Für C++ gibts einen kostenlosen von Böhm und Weiser. Hab noch nicht selbst getestet, Freunde nennen ihn aber sehr potent