| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 
 | ...{
    T toto;
    T titi = toto; // ici
    T tata(toto); // ici aussi, autre écriture globalement équivalente
 
    toto = titi; // pas ici, il s'agit d'une affectation qui repose cette fois
       // sur l'opérateur d'affectation.
 
    T & ref = toto; // pas ici, c'est une référence
    T * ptr = &toto; // pas ici, pointeur, rien à voir avec le smilblick
    T *p2 = &tata; // toujours pas
 
    *ptr = *p2; // pas ici, c'est une affectation
    ptr = &titi; // rien à voir, ptr pointe maintenant sur titi
 
    T tutu(*ptr); // ici, on construit à partir du T pointé par ptr.
}
...
void f(T t); // ici une copie est réalisé => constructeur de recopie utilisé
void f2(T &t); // pas ici
void f3(T const& t); // ici non plus
 
T g(); // ici, une copie sera réalisée au moment du return
  // sauf optimisations parfois réalisées par certains compilos | 
Partager