Le code ci-dessous:Concaténer deux chaînes déplacé
#include <iostream>
#include <string>
using namespace std;
int main() {
string s1 = "hello";
string s2 = "my";
string s3 = "world";
string s4;
s4 = move(s1) + move(s2) + move(s3);
cout << "s4(" << s4 << ") = s1(" << s1 << ") + s2(" << s2 << ") + s3(" << s3 << ")"<< endl;
}
donne le résultat suivant:
s4(hellomyworld) = s1() + s2(my) + s3(world)
Pouvez-vous expliquer ce qui se passe? (Testé avec XCode 4.6.1)
EDIT: Je devrait voir s4(hellomyworld) = s1() + s2() + s3()
Veuillez vous habituer à décrire ce que vous attendiez de la place. Votre compréhension peut ne pas être la même que votre compréhension (et, en effet, parce que vous êtes ici en train de poser une question pour résoudre votre confusion, c'est probablement pas!) –