AddOnProfile.cpp
上传用户:wwwwww0634
上传日期:2007-01-15
资源大小:5k
文件大小:3k
源码类别:

STL

开发平台:

Visual C++

  1. #include "stdafx.h"
  2. #pragma warning( disable : 4786 )
  3. #include <string>
  4. #include <vector>
  5. #include <map>
  6. #include <list>
  7. #include <set>
  8. #include <queue>
  9. #include <deque>
  10. #include <stack>
  11. #include <comutil.h>
  12. #include <atlbase.h>
  13. typedef std::string string;
  14. // map types
  15. typedef std::map<long, string>    TLongStr;
  16. typedef std::map<string, string > TStrStr;
  17. typedef std::map<long, long>      TLongLong;
  18. // multimap types
  19. typedef std::multimap<long, string>   TMLongStr;
  20. typedef std::multimap<long, long>     TMLongLong;
  21. typedef std::multimap<string, string> TMStrStr;
  22. // vector types
  23. typedef std::vector<string> TVStr;
  24. typedef std::vector<long>   TVLong;
  25. // list types
  26. typedef std::list<string> TLStr;
  27. typedef std::list<long>   TLLong;
  28. // set
  29. typedef std::set<long>        TSLong;
  30. typedef std::set<string>      TSStr;
  31. typedef std::multiset<long>   TMsLong;
  32. typedef std::multiset<string> TMsStr;
  33. #define DEF_TEST_STRING "ABCDEFGHIJKLMNOPQRSTUVWXYZrntvb"
  34. #define STR_DEF_TEST  string( DEF_TEST_STRING )
  35. int main( int argc, char* argv[] )
  36. {
  37.   char buffer[ 8192 ];
  38.   
  39.   // maps
  40.   TLongLong   mapLL;  TLongStr    mapLS;  TStrStr     mapSS;
  41.   TMLongLong  mmapLL; TMLongStr   mmapLS; TMStrStr    mmapSS;
  42.   // list, vector
  43.   TLLong      listL;  TLStr       listS;
  44.   TVStr       vecS;   TVLong      vecL;
  45.   // set, multiset
  46.   TSLong      setL;   TSStr      setS;
  47.   TMsLong     msetL;  TMsStr      msetS;
  48.   string    strValue = DEF_TEST_STRING;
  49.   for( int j=0; j<10; j++ )
  50.     strValue += strValue;
  51.   const char * czBuffTestLongVariableNamesWithSomething = strValue.c_str( );
  52.   CString   cstrClass = czBuffTestLongVariableNamesWithSomething;
  53.   CComBSTR  combstr = cstrClass;  
  54.   BSTR      bstr = combstr;
  55.   bstr_t    TBstr = bstr;
  56.   for( long i = 0; i<4000; i++ )
  57.   {
  58.     sprintf( buffer, "%04d - ABCDEFGHIJKLMNOPQRSTUVWXYZ" , i );
  59.     string temp = buffer;
  60.     mapLL.insert( TLongLong::value_type( i, i+1 ) );
  61.     mapLS.insert( TLongStr::value_type( i, temp ) );
  62.     mapSS.insert( TStrStr::value_type( temp, temp ) );
  63.     mmapLL.insert( TMLongLong::value_type( i, i+1 ) );
  64.     mmapLL.insert( TMLongLong::value_type( i, i ) );
  65.     mmapLS.insert( TMLongStr::value_type( i, temp ) );
  66.     mmapLS.insert( TMLongStr::value_type( i, temp ) );
  67.     mmapSS.insert( TMStrStr::value_type( temp, temp ) );
  68.     mmapSS.insert( TMStrStr::value_type( temp, temp ) );
  69.     listL.push_back( i );
  70.     listS.push_back( temp );
  71.     vecL.push_back( i );
  72.     vecS.push_back( temp );
  73.     
  74.     setL.insert( i );
  75.     setS.insert( temp );
  76.     
  77.     msetL.insert( i );
  78.     msetL.insert( i );
  79.     msetS.insert( temp );
  80.     msetS.insert( temp );
  81.   }
  82.   return 0;
  83. }