Ich bin mir nicht ganz klar, was wann eine Kopie ergibt und wann nicht, vielleicht kann mich mal jemand aufklären?
In welchen der folgenden Fälle habe ich hinterher zwei voneinander unabhängige Werte bzw. strings?
int x = 1;
int y = x;
std::string x = "Irgendwas";
std::string y = x;
char x[] = "Irgendwas";
std::string y(x);
std::stringstream x;
x << "Irgendwas";
std::string y = x.str();
Mehr Beispiele fallen mir grad nicht ein, ich denke es ist eh klar was ich meine.
Gibt es für diese und andere Beispiele irgendeinen Anhaltspunkt, wann eine Kopie gemacht wird und wann nicht?
Und wenn etwas keine Kopie macht, wann geht mir der Inhalt verloren?
In welchen der folgenden Fälle habe ich hinterher zwei voneinander unabhängige Werte bzw. strings?
int x = 1;
int y = x;
std::string x = "Irgendwas";
std::string y = x;
char x[] = "Irgendwas";
std::string y(x);
std::stringstream x;
x << "Irgendwas";
std::string y = x.str();
Mehr Beispiele fallen mir grad nicht ein, ich denke es ist eh klar was ich meine.
Gibt es für diese und andere Beispiele irgendeinen Anhaltspunkt, wann eine Kopie gemacht wird und wann nicht?
Und wenn etwas keine Kopie macht, wann geht mir der Inhalt verloren?