• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆 - 40, 文章 - 0, 評(píng)論 - 9, 引用 - 0
            數(shù)據(jù)加載中……

            STL vector的使用

              http://www.cppreference.com/cppvector/index.html
            assign
            Syntax:
              #include <vector>
            void assign( size_type num, const TYPE& val );
            void assign( input_iterator start, input_iterator end );
            

            The assign() function either gives the current vector the values from start to end, or gives it num copies of val.

            This function will destroy the previous contents of the vector.

            For example, the following code uses assign() to put 10 copies of the integer 42 into a vector:

            vector<int> v;
             v
            .assign( 10, 42 );
             
            for( int i = 0; i < v.size(); i++ ) {
               cout
            << v[i] << " ";
             
            }
             cout
            << endl;            

            The above code displays the following output:

            42 42 42 42 42 42 42 42 42 42          

            The next example shows how assign() can be used to copy one vector to another:

            vector<int> v1;
             
            for( int i = 0; i < 10; i++ ) {
               v1
            .push_back( i );
             
            }              

             vector
            <int> v2;
             v2
            .assign( v1.begin(), v1.end() );            

             
            for( int i = 0; i < v2.size(); i++ ) {
               cout
            << v2[i] << " ";
             
            }
             cout
            << endl;            

            When run, the above code displays the following output:

            0 1 2 3 4 5 6 7 8 9     



            Vector constructors
            Syntax:
              #include <vector>
            vector();
            vector( const vector& c );
            vector( size_type num, const TYPE& val = TYPE() );
            vector( input_iterator start, input_iterator end );
            ~vector();
            

            The default vector constructor takes no arguments, creates a new instance of that vector.

            The second constructor is a default copy constructor that can be used to create a new vector that is a copy of the given vector c.

            The third constructor creates a vector with space for num objects. If val is specified, each of those objects will be given that value. For example, the following code creates a vector consisting of five copies of the integer 42:

            vector<int> v1( 5, 42 );         

            The last constructor creates a vector that is initialized to contain the elements between start and end. For example:

            // create a vector of random integers
             cout
            << "original vector: ";
             vector
            <int> v;
             
            for( int i = 0; i < 10; i++ ) {
               
            int num = (int) rand() % 10;
               cout
            << num << " ";
               v
            .push_back( num );
             
            }
             cout
            << endl;            

             
            // find the first element of v that is even
             vector
            <int>::iterator iter1 = v.begin();
             
            while( iter1 != v.end() && *iter1 % 2 != 0 ) {
               iter1
            ++;
             
            }              

             
            // find the last element of v that is even
             vector
            <int>::iterator iter2 = v.end();
             
            do {
               iter2
            --;
             
            } while( iter2 != v.begin() && *iter2 % 2 != 0 );              

             
            // only proceed if we find both numbers
             
            if( iter1 != v.end() && iter2 != v.begin() ) {
               cout
            << "first even number: " << *iter1 << ", last even number: " << *iter2 << endl;        

               cout
            << "new vector: ";
               vector
            <int> v2( iter1, iter2 );
               
            for( int i = 0; i < v2.size(); i++ ) {
                 cout
            << v2[i] << " ";
               
            }
               cout
            << endl;
             
            }

            When run, this code displays the following output:

            original vector: 1 9 7 9 2 7 2 1 9 8
             first even number
            : 2, last even number: 8
             
            new vector: 2 7 2 1 9          

            All of these constructors run in linear time except the first, which runs in constant time.

            The default destructor is called when the vector should be destroyed.

             

            posted on 2007-12-11 14:26 閱讀(4043) 評(píng)論(2)  編輯 收藏 引用 所屬分類: c++開發(fā)具體技術(shù)

            評(píng)論

            # re: STL vector的使用  回復(fù)  更多評(píng)論   

            我用的是VS2005 環(huán)境.
            如:for( int i = 0; i < v2.size(); i++ )
            系統(tǒng)提示 int 和 size_type 轉(zhuǎn)換 會(huì)丟失數(shù)據(jù).

            望看到回復(fù) hanbo79@sogou.com
            2008-08-16 11:25 | hb

            # re: STL vector的使用  回復(fù)  更多評(píng)論   

            size_type是unsigned類型比int大多了,可能被截?cái)啵阅鉯聲明為unsigned就可以了@hb
            2008-08-16 12:20 | 沈臻豪(foxtail)
            午夜精品久久久久成人| 久久久久久曰本AV免费免费| 漂亮人妻被黑人久久精品| 久久精品国产久精国产思思| 国产一区二区三精品久久久无广告| 三级片免费观看久久| 久久人做人爽一区二区三区| 精品久久久久久国产潘金莲| 久久婷婷色综合一区二区| 久久亚洲AV成人出白浆无码国产| 久久99精品久久久久久| 精品免费久久久久久久| 精品久久久久久久中文字幕 | 久久久久99精品成人片欧美| 人人狠狠综合久久亚洲婷婷| 久久99国产精品二区不卡| 久久久久亚洲av成人无码电影| 久久777国产线看观看精品| 久久精品18| 国内精品伊人久久久久妇| 亚洲精品成人网久久久久久| 欧美亚洲另类久久综合婷婷| 91久久精品91久久性色| 久久99国产精一区二区三区| 亚洲精品综合久久| 狠狠人妻久久久久久综合蜜桃| 久久精品a亚洲国产v高清不卡| 久久婷婷人人澡人人| 精品久久久久久久中文字幕| 久久精品国产只有精品2020| 久久精品蜜芽亚洲国产AV| 亚洲av伊人久久综合密臀性色| 久久亚洲精品成人AV| 久久久午夜精品福利内容| 久久精品一区二区三区AV| 久久久99精品成人片中文字幕| 人人狠狠综合久久亚洲婷婷| 亚洲国产精品久久久久久| 亚洲国产一成久久精品国产成人综合 | 久久人人爽人人爽人人AV东京热| 色妞色综合久久夜夜|