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