KYA optimize ho raha hai: O(N) heap buffer copy ko O(1) pointer copy se replace kiya ja raha hai.
KAISE compiler ko pata chalta hai ki safe hai: source ek rvalue hai (ek temporary ya kuch jo tum explicitly std::move se cast karte ho). Rvalues ka koi naam nahi hota jise tum dobara use kar sako, isliye unse churana safe hai.
Move constructor kya steal karta hai aur peeche kya chodna chahiye?
Wo source se resource (jaise pointer) steal karta hai, aur source ko ek valid, destructible empty state mein chodna chahiye (jaise pointer ko nullptr set karo).
Rule of Five batao.
Agar tum destructor, copy ctor, ya copy assignment mein se koi bhi define karo, to paanch saare define karo: destructor, copy ctor, copy assignment, move ctor, move assignment.
std::move(x) runtime pe actually kya karta hai?
Kuch nahi — yeh x ka compile-time cast hai rvalue reference mein, jisse move ctor/assignment select ho sake. Actual stealing usi move operation ke andar hoti hai.
Move operations ko noexcept kyun mark karna chahiye?
Taaki standard containers (jaise reallocation pe std::vector) strong exception guarantee rakhne ke liye copy pe fall back karne ke bajay move use karein.
Agar tum destructor likhte ho lekin pointer member ke liye implicit copy constructor pe rely karte ho to kya bug aata hai?
Shallow pointer copy → do objects ek hi buffer own karte hain → double free / dangling pointer crash.
Move mein source ko null kyun karo?
Taaki source ka destructor wo resource free na kare jo destination ab own karta hai.
Copy aur move constructor ke signature mein kya difference hai?
Apna hi resource delete karne aur phir dangling pointer read karne se bachne ke liye jab x = std::move(x) hota hai (aksar generic algorithms ke through).
Recall Feynman: 12-saal ke bachche ko explain karo
Socho tum ghar shift kar rahe ho. Copying = bilkul same naya furniture khareedna, phir purana phenkna. Kitna waste! Moving = purana ghar waise bhi giraya ja raha hai, to bas apna existing furniture naye ghar le jaao aur purana khali chod do taaki crew tumhara sofa na tod de. "Rule of Five" woh paanch kaam ki checklist hai jo tumhe khatam karni hai taaki do families ek hi sofa na own karein (jo ek fight = ek crash ka kaaran banega).