Bonjour,

Voilà, aujourd'hui, sur le chat du site ( il y a le lien, juste au dessus ), on me montre cette ligne là:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
Student& student = *new Student;
Qui vient de cet exemple là:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 
class Student
{
  public:
    int semesterHours;
    float gpa;
    Student valFriend;
    Student& refFriend;
    Student* ptrFriend;
};
int main(int nNumberofArgs, char* pszArgs[])
{
    // the following declares a reference off of the heap
    // (simple enough)
    Student& student = *new Student;
    student.gpa = 10;
    // ditto
    Student& studentFriend = *new Student;
    studentFriend.gpa = 20;
    // the following copies the value of one Student
    // object into the second
    student.valFriend = studentFriend;
    // this doesn't work at all
    Student& refFriend;
    refFriend = studentFriend;
    // this does work
    student.pFriend = &studentFriend;
    return 0;
}
Cela me laisse vraiment perplexe.
Déjà que l'écriture me semble un peu bancale (même si après réflexion je l'a comprends), car personnellement j'écris ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
Student* student = new Student();
Donc si vous pouviez m'expliquer les avantages d'une telle écriture ( celle du livre ) je vous en serai reconnaissant.

Merci d'avance