Korrekte Art map zurück zu geben



  • Hi,
    mich würde gerne interessieren, was die korrekte Art ist eine map zurück zu geben und wie man die map am Besten zuweist. Einmal in C++11 und einmal < C++11.
    Ich habe momentan diesen Code. Aber ich bin mir nicht sicher, wie effizient das ist, da ja theoretisch die komplette map kopiert wird.

    map<string, double> getDictionary ( const string& str )
    {
        map<string, double> dict;
    
        // ...
    
        return dict;
    }
    
    int main ( int argc, char **argv )
    {
        map<string, double> dict = getDictionary ( "/WED/WE/WEE/WEB/WET" );
    
        return 0;
    }
    

    Bei C++11 habe ich etwas von move gehört und dass der hier und da implizit durchgeführt wird. Ehrlich gesagt, check ich da nicht durch. 🙂

    L. G.,
    IBV



  • In diesem Fall musst du dir keine Sorgen machen. Das optimiert der Compiler automatisch 🙂



  • Siehe auch diese und folgende Antworten: http://www.c-plusplus.net/forum/p2427593#2427593



  • Thx, dann muss ich mir da keinen Kopf machen! 🙂

    L. G.,
    IBV


Log in to reply