<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                ##實戰c++中的vector系列--將迭代器轉換為索引 stl的迭代器很方便 用于各種算法。 但是一想到vector,我們總是把他當做數組,總喜歡使用下標索引,而不是迭代器。 這里有個問題就是如何把迭代器轉換為索引: ~~~ #include <vector> typedef std::vector<char *> MYARRAY; // This does the trick inline const int iterator_to_index(MYARRAY &a, MYARRAY::iterator it) { return it - a.begin(); } // Example use main() { MYARRAY a; int index; a.push_back("one"); a.push_back("two"); a.push_back("three"); for (MYARRAY::iterator it = a.begin(); it != a.end(); it++) { index = iterator_to_index(a, it); printf("index=%d\n", index); } } ~~~ 一、數組習慣用法 對于內置數組我們可以顯式地把數組的元素初始化為一組常量值,例如 :? int ia[ 6 ] = { -2, -1, 0, 1, 2, 1024 }; 我們不能用同樣的方法顯式地初始化 vector ,但是可以將 vector 初始化為一個已有數組的全部或一部分,只需指定希望被用來初始化 vector 的數組的開始地址以及數組最末元的下一位置來實現,例如:? // 把 ia 的 6 個元素拷貝到 ivec 中? vector ivec( ia, ia+6 ); 被傳遞給ivec 的兩個指針標記了用來初始化對象的值的范圍, 第二個指針總是指向要拷貝的末元素的下一位置 ,標記出來的元素范圍也可以是數組的一個子集,例如 : // 拷貝 3 個元素 ia[2], ia[3], ia[4]? vector ivec( &ia[ 2 ], &ia[ 5 ] ); 與內置數組不同 vector 可以被另一個 vector 初始化 或被賦給另一個 vector 注意 下面的定義 ~~~ vector< int > ivec; ivec[ 0 ] = 1024; //錯誤 ~~~ 就是錯誤的 ,因為 ivec 還沒有第一個元素 ,我們只能索引 vector 中已經存在的元素 size()操作返回 vector 包含的元素的個數 。 下面的錯誤并不少見: ~~~ const int size = 7; int ia[ size ] = { 0, 1, 1, 2, 3, 5, 8 }; vector< int > ivec( size ); for ( int ix = 0; ix < size; ++ix ) ivec.push_back( ia[ ix ]); ~~~ 程序結束時ivec 包含 14 個元素, ia 的元素從第八個元素開始插入。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看