Zeiger auf ein dynamisches string-Array als Rückgabewert



  • Hallo,
    Ich habe ein kleines Problem und zwar erstelle ich grade eine Klasse in der eine Funktion einen Zeiger auf ein dynamisches String-Array zurückgeben soll.
    Es steht noch nicht fest, wie viele Strings in dem Array sind und da die Zahl zwischen 1 und 10000 schwankt ist es nicht sinnvoll Platz für 10000 Strings zu reservieren.
    wie muss da die Methode aussehen?
    Zur Zeit sieht meine noch so aus:

    std::string[]* MeineMethode();
    

    Also in das Array müssen nur von der Funktion Strings geschrieben werden und diese Strings müssen später wieder der Reihe nach ausgelesen werden. Ist hier überhaupt ein Array geeignet oder nimmt man besser etwas anderes?

    MFG
    Neokil



  • Zeig mal die Klasse.



  • also da du es dynamisch willst, empfehle ich dir "vector" aus der STL.
    Du übergibst den vector per Referenz und dann wird er gefüllt.

    z.B.

    std::vector<std::string> StringVector;
    FillMe( StringVector );
    if ( StringVector.size() > 0 )
       std::cout <<  StringVector[0] << std::endl;
    
    void FillMe( std::vector<std::string> &StringVec )
    {
        std::string Text = "test";
        StringVec.push_back( Text );
    }
    

Log in to reply