• <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>

            C++ Primer 學習筆記(五) ---- 第三章 標準庫類型(2)

            一、知識點
            1、命名空間的using聲明
            2、標準庫string類型
            3、標準庫vector類型
            4、迭代器簡介
            5、標準庫bitset類型

            二、要點
                  
            3、標準庫vector類型 

            初始化vector對象的方式

            vector<T> v1

            v1保存T類型的對象。采用T的默認構造函數構造

            vector<T> v2(v1)

            v2v1的一個副本

            vector<T> v3(n, i)

            v3包含n個值為iT對象元素

            vector<T> v4(n)

            v4包含初始化的T對象的n個副本

             (1)、注意如果T是沒有默認構造函數的類,則在初始化這種類型的vector對象時,不但需要提供元素個數,還需要提供元素初始值。

             (2)、僅能對確知的已存在的元素進行下標操作,而且進行下標操作時,是不能進行添加元素的。

             

                  4、迭代器簡介
                        迭代器是一種檢查容器內元素并遍歷元素的數據類型。

                
            (1)、end操作:end操作返回的迭代器指向vector的“末端元素的下一個”,即指向一個不存在的元素;如果vector是空的,則begin和end是一樣的。

                 (2)、解引用:迭代器類型可以使用解引用操作符(*操作符)來訪問迭代器指向的元素內容。

                 (3)、const_iterator:這個類型只能讀取容器,不能修改其值;而const的迭代器是在初始化時指向一個vector,它是不能改變它指向的對象,但是可以改變其指向的值。

                   5、標準庫bitset類型

                   bitset類是一種對位集進行處理的類型。

            bitset初始化方法

            bitset<n> b

            bn位,每位都為0

            bitset<n> b(u)

            bunsigned longu的一個副本

            bitset<n> b(s)

            bstring對象s中含有的位串的副本

            bitset<n> b(s, pos, n)

            bs中從pos開始的n個位的副本


                  (1)、在定義bitset時,要明確bitset含有多少位,須在尖括號中給出它的長度值。
                  
                  (2)、用unsigned long初始化bitset對象:該值直接轉換為二進制的位模式;如果bitset長度大于unsigned long值的二進制位數,則將其余的高階位置為0;如果小于,則超過的高階位被丟棄。

                  (3)、用string對象初始化bitset對象:從string對象讀入位集的順序是從右到坐。

                  (4)、bitset對象上的操作,如下圖

            bitset操作

            b.any()

            b是否存在置為1的二進制位

            b.none()

            b是否不存在置為1的二進制位

            b.count()

            b中置為1的二進制位的個數

            b.size()

            b中二進制位的個數

            b[pos]

            訪問b中在pos處的二進制位

            b.test(pos)

            b中在pos處的二進制位是否為1

            b.set()

            b中的所有二進制位都置為1

            b.set(pos)

            b中在pos處的二進制位置為1

            b.reset()

            b中的所有二進制位都置為0

            b.reset(pos)

            b中在pos處的二進制位置為0

            b.flip()

            b中的所有二進制位取反

            b.flip(pos)

            b中在pos處的二進制取反

            b.to_long()

            b的二進制位中返回一個unsigned long

            os << b

            b中的位集輸出到os


            posted on 2012-06-09 21:10 tiger7 閱讀(187) 評論(0)  編輯 收藏 引用 所屬分類: C++ Primer

            <2025年7月>
            293012345
            6789101112
            13141516171819
            20212223242526
            272829303112
            3456789

            導航

            統計

            公告

            welcome to tiger's blog.

            常用鏈接

            留言簿

            文章分類

            文章檔案

            搜索

            最新評論

            人妻无码精品久久亚瑟影视| 久久久久亚洲AV无码观看| 久久人妻少妇嫩草AV无码专区| 日韩精品久久无码中文字幕| 国产欧美久久久精品| 91久久香蕉国产熟女线看| 国内精品久久久久影院亚洲| 久久久久人妻一区精品色| 青青青青久久精品国产h| 伊人久久无码精品中文字幕| 久久精品中文字幕久久| 久久AV高潮AV无码AV| 久久精品无码免费不卡| 99国产精品久久久久久久成人热| 狠狠精品干练久久久无码中文字幕| 久久亚洲中文字幕精品有坂深雪| 国产成人香蕉久久久久| 国产综合精品久久亚洲| 婷婷久久综合九色综合98| 久久久久se色偷偷亚洲精品av| 国产成人香蕉久久久久| 国产午夜福利精品久久| 久久久久亚洲AV无码专区桃色| 精品综合久久久久久97超人 | 精品综合久久久久久888蜜芽| 中文字幕热久久久久久久| 久久久无码精品亚洲日韩蜜臀浪潮| 精品久久久久久久国产潘金莲| 亚洲精品乱码久久久久久| 99国产精品久久久久久久成人热| 91久久精品电影| 亚洲中文字幕久久精品无码APP | 99久久国产免费福利| 色婷婷综合久久久久中文字幕| 午夜精品久久久久久99热| 国产99久久九九精品无码| 伊人伊成久久人综合网777| 91久久婷婷国产综合精品青草| 精品国产热久久久福利| 国产精品久久国产精麻豆99网站| 久久免费99精品国产自在现线|