Move semantics & std::move
Në shqip: Semantika e lëvizjes
ShpjegimiSQ
Move semantics (C++11) të lejon ta „zhvendosësh“ përmbajtjen e një objekti në një tjetër në vend që ta kopjosh — p.sh. një vector me miliona elemente kalon te pronari i ri pothuajse pa kosto. std::move i thotë: „këtë s'e përdor më, merre“.
EnglishEN
Move semantics (C++11) let you “move” an object's contents into another instead of copying them — e.g. a vector with millions of items passes to its new owner almost for free. std::move says: “I'm done with this, take it”.
Si ta mendosh
Si kur ndërron shtëpi: s'i fotokopjon mobiljet — i ngarkon në kamion dhe i çon. Shtëpia e vjetër mbetet bosh.
Lexoje në anglisht
Like moving house: you don't photocopy the furniture — you load it in the van and take it. The old house is left empty.
Shembull kodicpp
std::vector<int> a(1000000, 1);
std::vector<int> b = std::move(a); // pa kopje
// a tani është bosh (s'e përdor më)