vectorメモリ割り当て

2480 ワード

#include 
#include 

using namespace std;
int main()
 {
 vector iVec;
 cout << "      : " << iVec.size() << "      : " << iVec.capacity() << endl; //1   ,      1

 iVec.push_back(1);
 cout << "      : " << iVec.size() <<  "      : " << iVec.capacity() << endl; //2   ,      2

 iVec.push_back(2);
 cout << "      : " << iVec.size() <<  "      : " << iVec.capacity() << endl; //3   ,      4

 iVec.push_back(3);
 cout << "      : " << iVec.size() << "      : " << iVec.capacity() << endl; //4   ,      4

 iVec.push_back(4);
 iVec.push_back(5);
 cout << "      : " << iVec.size() << "      : " << iVec.capacity() << endl; //5   ,      8

 iVec.push_back(6);
 cout << "      : " << iVec.size() <<  "      : " << iVec.capacity() << endl; //6   ,      8

 iVec.push_back(7);
 cout << "      : " << iVec.size() << "      : " << iVec.capacity() << endl; //7   ,      8

 iVec.push_back(8);
 cout << "      : " << iVec.size() << "      : " << iVec.capacity() << endl; //8   ,      8

 iVec.push_back(9);
 cout << "      : " << iVec.size()  << "      : " << iVec.capacity() << endl; //9   ,      16
 /*   :
   vc6   stl  ,vector          2        。             ,
         ,         vector   2   ,       ,     ,    
              ,     vector     。
 */
/*   effective stl        swap() */
 cout << "  vector     : " << iVec.size() << "  vector     : " << iVec.capacity() << endl;
 vector(iVec).swap(iVec); //effective stl      ,       。                  vector  
 //cout << "   vector      : "<(iVec)).size()<      : "<(iVec)).capacity()<    ,       vector     
 , vector.size() , capacity             ,            ,  vector      
                   ,             。  ,swap vector              
。*/
 cout << "   ,  vector     : " << iVec.size() << "   ,  vector     : " << iVec.capacity() << endl;
 return 0;
 }