STD-Container



  • Hallo,

    Ist es möglich einen STD-Container als return von einer Funktion wiederzubekommen?

    Und wie macht man dann so was?

    Vielen Dank



  • Ja, das ist möglich:

    #include <vector>
    
    class MyData
    {
    public:
       std::vector<long> getValues() const
       {
          return _values;
       }
    private:
       std::vector<long> _values;
    };
    


  • Meinst du einen STL-Container (z.B. std::vector)? Ja, geht. Einfach als Rückgabewert angeben...



  • sorry, aber das versteh ich nicht richteg, also es ist ein wenig komplexer ich arbeite mit VTK unter C++ geht das da auch?


  • Administrator

    ClaudeG schrieb:

    sorry, aber das versteh ich nicht richteg, ...

    Und was verstehst du nicht?

    ClaudeG schrieb:

    ... also es ist ein wenig komplexer ich arbeite mit VTK unter C++ geht das da auch?

    1. Wäre es nett, wenn du sagen würdest, was du unter VTK verstehst. Ich denke nicht, dass dies jedem bekannt ist, welcher mit C++ arbeitet. Ich gehe aber jetzt mal davon aus, dass du dies hier meinst: http://www.vtk.org/
    2. VTK ist also eine Bibliothek. Ehm, wie, was, wo? Wieso solltest du einen Container aus der Standardbibliothek nicht zurückgeben können, wenn du mit VTK arbeitest? Wo ist hier der logische Zusammenhang? Oder willst du ein Objekt einer Klasse aus VTK zurückgeben? Wo ist dann der Zusammenhang mit der Standardbibliothek? Und wahrscheinlich kann man gewisse VTK Klassen als Rückgabetypen verwenden und andere nicht. Das steht ja wohl in der Dokumentation der Bibliothek?
    3. Also entweder wirst du genauer oder ich gebe dir bald einfach die Empfehlung, dass du wohl besser zuerst C++ lernst. Hat keinen Sinn, wenn du kein C++ kannst und dich an komplexe Bibliotheken ranwagst.

    Grüssli



  • Also, es ist folgendes ich habe Actors, die kommen vin VTK, in einen STL_Container gepackt , wenn ich jetzt diese erzeuge und bearbeite in der selben Funktion, klappt alles richtig, aber nun will ich die Actors in einer separaten Funktion erstellen und dann in einer anderen bearbeieten, bis jetzt habe ich beide funktion als void funktionen angegeben, zur präzision den STL-Container wird nicht in der ersten Funktion erzeugt sondern ist eine globale "Variable" aber die zweite funktion ändert einfach nichts und ich weiss nicht so richtig wo das Problem liegt!



  • Poste doch mal ein Minimal Bsp.
    Simon



  • //error//



  • ClaudeG schrieb:

    ...

    Bitte benutze die cpp-Tags für die Codedarstellung, dein Code lässt sich so nicht lesen. Und auch die Code-Formatierung von dir lässt zu wünschen übrig (Unterschiedlicher Einrückstil...).

    ClaudeG schrieb:

    Entschuldigung aber diese Textzeile ist einfach zu klein um den Code ordentlich zu schreiben

    Du bist nicht gezwungen den Code hier zu schreiben (wozu kann man bitte schön auch kopieren), man sollte nur im Code möglichst keine Tabulatoren verwenden, das kommt im Forum nicht wirklich gut rüber...


Anmelden zum Antworten