As one of the most commonly used data structures, map can greatly improve the performance.
//java_cpp_perftest.cpp: Defines the entry point of the console application. //#include"stdafx.h"#include<map>//Map#include <string>#include<iostream>#include<objbase.h>//UUID used tousing namespacestd;#defineGuid_len 64int_tmain (intARGC, _tchar*argv[]) { inti,j; //Map Definitionmap<int,string>mapstudent; for(i=0;i<10000; i++) { //Create UUID, VC-specific, Linux Universal reference http://www.cnblogs.com/lidabo/p/3602038.html CharBuffer[guid_len] = {0 }; GUID GUID; if(CoCreateGuid (&GUID)) {fprintf (stderr,"Create GUID error\n"); return-1; } _snprintf_s (Buffer,sizeof(buffer),"%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x", GUID. Data1, GUID. Data2, GUID. Data3, GUID. data4[0], GUID. data4[1], GUID. data4[2], GUID. data4[3], GUID. data4[4], GUID. data4[5], GUID. data4[6], GUID. data4[7]); //Map InsertionMapstudent.insert (pair<int,string>(i, buffer)); } //get time-relative counter, VC-specificDWORD begin =GetTickCount (); intF; for(j=0;j< -; j + +) { for(f=0;f<10000; f++) { //Map LookupMapstudent.find (f); }} DWORD End=GetTickCount (); //Print Time Differencecout << (End-begin) <<Endl; //In our VS2012 test, this step is actually about 4s, in the same case, JDK 8 only used 20ms //Map Traversalmap<int,string>:: Iterator iter; for(iter = Mapstudent.begin (); ITER! = Mapstudent.end (); iter++) {cout<< Iter->first <<" "<< Iter->second <<Endl; } System ("Pause");}
C + + Learning map basic operations