C++

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ë)

Terma të lidhur