Код здесь используется для создания проекта карточки студенческого отчета. Пытаясь понять, что мы не можем понять, использование и функции кода ниже:Что делает reinterpret_cast <char *> (& st) и (-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;
}
Что студент? Этот код читал как сырой двоичный файл. Это UB, если тип ученика не является стандартным макетом. У него также есть проблемы с endianess. – Danh
. Как вы задали свой вопрос, вы не понимаете, что такое 'reinterpret_cast' и' static_cast'. – Omnifarious