Copie en C++
Le C++ fonctionne comme le C : par défaut, on copie.
Rappel du C
struct Point {
int x;
int y;
}
int main() {
Point p = {.x = 3, .y = 2};
Point q = p;
q.x = 100;
}
Que vaut p.x
?
En C++ pareil, on copie
vector<int> A = ... un vecteur de 10000000 d'éléments....
vector<int> B = A;
Oui, oui, .... B = A;
est hyper looooonnnnnnng.
Constructeur par copie
Par défaut, quand C++ fait une "copie", il fait une copie superficielle. Mais C++ offre la possibilité de définir soi-même un constructeur par copie.
class BigInt {
BigInt(BigInt& x) {
// là on écrit le code qui copie
}
}