www.pudn.com > Depue_Vector_Compare.rar > VectorDequeCompare.cpp


#include "VectorDequeCompare.h" 
 
int main() 
{ 
	CVectorDequeTest m_VectorDequeTest; 
 
 
	system("pause"); 
 
	m_VectorDequeTest.ReadTestFile("c:\\thunder_comlib.log",FM_VECTOR); 
 
	system("pause"); 
 
	m_VectorDequeTest.ReadTestFile("c:\\thunder_comlib.log",FM_DEQUE);  
 
	return 0; 
} 
 
 
CVectorDequeTest::CVectorDequeTest() 
{ 
	m_vData.reserve(1000000);//试验加入大量数据之前调用reserve(),和deque进行比较,看它们的内存分配和执行效率怎么样? 
} 
 
 
 
CVectorDequeTest::~CVectorDequeTest() 
{ 
 
} 
 
 
 
void CVectorDequeTest::ReadTestFile(const char* szFile, int iMode) 
 
{         
	char buff[0xFFFF] = {0};  
 
	std::ifstream inFile; 
 
	inFile.open(szFile); 
 
 
//	assert(m_vData.empty()&&m_vData.size()==0); 
 
	while(!inFile.eof()) 
	{ 
 
		inFile.getline(buff, sizeof(buff)); 
 
 
 
		if(iMode == FM_VECTOR) 
			m_vData.push_back(buff); 
		else if(iMode == FM_DEQUE) 
			m_dData.push_back(buff); 
 
	}         
 
 
 
	inFile.close(); 
}   
 
void WriteLog(const char *sLog) 
{ 
	std::fstream logfile("c:\\Log.Txt", std::ios::in | std::ios::out | std::ios::ate ); 
 
 
	logfile <