class MyFileOperation
{
int iUserReadPos;
string sArticleBuffer;
string sExtraInfo;
enum Offset
{
ofsUserReadPos = 0, ofsArticleBuffer, ofsExtraInfo
};
public:
MyFileOperation(string filename)
{
/*By reading the file, I know the values of iUserReadPos, sArticlBuffer and sExtraInfo*/
/*Then I want to assign the values Offset items*/
ofsUserReadPos = 0;
ofsArticlBuffer = sizeof(iUserReadPos);
ofsExtraInfo = sizeof(string::size_type) + sArticlBuffer.length();
}
void MoveTo(Offset ofs)
{
f.seekp(ios::beg+ofs);
}
void SomeUsingOfMoveTo()
{
MoveTo(ofsExtraInfo);
}
};
Я хочу присвоить значения для смещенных элементов и напрямую использовать эти значения удобно.Конечно, этот код не может быть скомпилирован.Интересно, есть ли новые возможности c ++, такие как enum class или другой дизайн, могут решить эту проблему.