[英]C++ Most efficient way for serializing/deserializing a vector of int
我在C ++ VS2010中有一個應用程序。
我有一個整數向量
0 = 93823
1 = 987283
2 = 3183723
3 = 8892328
4 = 98382391
等等...
有沒有一種方法可以快速地將此向量快速序列化/反序列化為文件(反序列化是跨平台的),而不必分別寫入每個值?
感謝您的幫助。
編輯:
我正在發布一些代碼,說明我當前如何對向量進行序列化和反序列化。 我覺得我的方式效率很低。
void CCompiler::CompileVector(FILE *outfile)
{
int iSize = nMap.Content().size();
fwrite(&iSize,sizeof(int),1,outfile);
for (int i=0;i<nMap.Content().size();i++)
{
fwrite( &nMap.Content()[i], sizeof(int), 1, outfile);
}
}
void CBinLoader::LoadVector(clsMapping &uMapping)
{
int iSizeMap = 0;
fread(&iSizeMap,sizeof(int),1,m_infile);
for(int i = 0; i < iSizeMap; i++)
{
int iByteStart=0;
fread(&iByteStart,sizeof(int),1,m_infile);
uMapping.Add(iByteStart);
}
}
ps:在我的clsMapping課程中,有一些空白。 但是,“內容”只是一個向量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.