여기의 코드는 학생 보고서 카드 프로젝트를 만드는 데 사용됩니다. 우리가 아래 코드의 사용과 기능을 알아낼 수 없습니다 이해하려고 노력하는 동안 :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