Le code ici est utilisé pour créer un projet de carte de rapport d'étudiant. Tout en essayant de comprendre que nous ne pouvons pas comprendre l'utilisation et les fonctions du code ci-dessous:Que signifie reinterpret_cast <char *> (& st) et (-1) * static_cast <int>?
File.read(reinterpret_cast<char *> (&st), sizeof(student));
int pos=(-1)*static_cast<int>(sizeof(st));
File.read(reinterpret_cast<char *> (&st), sizeof(student));
if(st.retrollno()==n)
{
st.showdata();
cout<<"\n\nPlease Enter The New Details of student"<<endl;
st.getdata();
int pos=(-1)*static_cast<int>(sizeof(st));
File.seekp(pos,ios::cur);
File.write(reinterpret_cast<char *> (&st), sizeof(student));
cout<<"\n\n\t Record Updated";
found=true;
}
Quel est l'étudiant? Ce code le lisait comme binaire brut. C'est UB si le type d'étudiant n'est pas la disposition standard. Il a également un problème avec endianess – Danh
La façon dont vous avez posé votre question suggère que vous ne comprenez pas vraiment ce que sont 'reinterpret_cast' et' static_cast'. – Omnifarious