最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++打印 vector的幾種方法小結(jié)

 更新時(shí)間:2025年11月30日 09:18:09   作者:Redmi人兒  
本文介紹了C++中遍歷vector的幾種方法,包括使用迭代器、auto關(guān)鍵字、typedef、計(jì)數(shù)器以及C++11引入的范圍基礎(chǔ)循環(huán),具有一定的參考價(jià)值,感興趣的可以了解一下

1. 使用迭代器

std::vector<char> path;
for (std::vector<char>::const_iterator i = path.begin(); i != path.end(); ++1) {
    std::cout << *i << ' ';
}

如果想要在循環(huán)的同時(shí)能夠修改 vector,那么可以使用 iterator 代替 const_iterator。

2. 使用 auto (C++11) / typedef / type alias (C++11)

這是方法 1 的補(bǔ)充。如果你使用 C++11,那么你可以使用 auto 關(guān)鍵字來(lái)增加可讀性:

for (auto i = path.begin(); i != path.end(); i++) {
    std::cout << *i << ' ';
}

不過(guò),上面的寫(xiě)法使用 auto 關(guān)鍵字時(shí),編譯器會(huì)返回可變的 std::vector<char>::iterator。
你也可以用 typedef 來(lái)增加可讀性:

typedef std::vector<char> Path;
Path path;
for (Path::const_iterator i = path.begin(); i != path.end(); i++) {
    std::cout << *i << ' ';
}

3. 計(jì)數(shù)器

還可以向傳統(tǒng)的寫(xiě)法一樣,使用一個(gè)計(jì)數(shù)器來(lái)遍歷:

for (int i = 0; i < path.size(); i++) 
    std::cout << apth[i] << ' ';

但是像這種使用計(jì)數(shù)器的寫(xiě)法中,最好使用容器自己的成員類型。比如 std::vector 就有一個(gè)類型 size_type:它表示方法 size 返回值得類型。

for (Path::size_type i = 0; i < path.size(); i++)
    std::cout << path[i] << ' ';

4. range-base 循環(huán)

在 C++11 及之后可以使用新的基于范圍的循環(huán):

for (auto i : path)
    std::cout << i << ' ';

path 是 vector<char> 類型,上面循環(huán)中的 i 實(shí)際上是 path 中每一項(xiàng)的拷貝(似乎在 C++ 中默認(rèn)所有的賦值都是拷貝),所以在循環(huán)中對(duì) i 的修改不會(huì)反應(yīng)到 path 中。
你可能在循環(huán)中希望 i 是不可變的,那么可以申明 i 為 const

for (const auto i : path)
    std::cout << i << ' ';

同樣,你可能希望在循環(huán)中對(duì) i 做一些操作,那么可以聲明 i 為引用類型:

for (const auto& i : path)
    std::cout << i << ' ';

5. 重載操作符 <<

#include <iterator> // for std::ostream_iterator
#include <algorithm>  // for std::copy

template <typename T>
std::ostream& operator<< (std::ostream& out, const std::vector<T>& v) {
    if (!v.empty()) {
        out << '[';
        std::copy(v.begin(), v.end(), std::ostream_iterator<T>(out, ", "));
        out << "\b\b]";
    }
    return out;
}

上面的 \b 是退格,將最后一個(gè)元素的 , 給退掉。

到此這篇關(guān)于C++打印 vector的幾種方法小結(jié)的文章就介紹到這了,更多相關(guān)C++打印vector 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • c++中bitset的常見(jiàn)用法示例詳解

    c++中bitset的常見(jiàn)用法示例詳解

    C++ 中的?bitset?是一個(gè)用于處理固定大小位序列的模板類,提供高效的位操作功能,這篇文章主要介紹了c++中bitset的常見(jiàn)用法,需要的朋友可以參考下
    2025-02-02
  • 基于C++全局變量的聲明與定義的詳解

    基于C++全局變量的聲明與定義的詳解

    本篇文章是對(duì)C++全局變量的聲明與定義進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • C++類成員函數(shù)中的名字查找問(wèn)題

    C++類成員函數(shù)中的名字查找問(wèn)題

    這篇文章主要介紹了C++類成員函數(shù)中的名字查找問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • Matlab實(shí)現(xiàn)數(shù)據(jù)的動(dòng)態(tài)顯示方法

    Matlab實(shí)現(xiàn)數(shù)據(jù)的動(dòng)態(tài)顯示方法

    這篇文章主要為大家詳細(xì)介紹了Matlab使用Plot函數(shù)實(shí)現(xiàn)數(shù)據(jù)動(dòng)態(tài)顯示方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • Matlab實(shí)現(xiàn)繪制立體玫瑰花的示例代碼

    Matlab實(shí)現(xiàn)繪制立體玫瑰花的示例代碼

    這篇文章主要介紹了如何利用Matlab實(shí)現(xiàn)繪制更立體的玫瑰花,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Matlab有一定的幫助,需要的可以參考一下
    2023-02-02
  • C++中的explicit關(guān)鍵字詳解

    C++中的explicit關(guān)鍵字詳解

    這篇文章主要介紹了C++中的explicit關(guān)鍵字詳解,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下
    2022-07-07
  • C語(yǔ)言實(shí)現(xiàn)的PNPoly算法代碼例子

    C語(yǔ)言實(shí)現(xiàn)的PNPoly算法代碼例子

    這篇文章主要介紹了C語(yǔ)言實(shí)現(xiàn)的PNPoly算法代碼例子,PNPoly算法j是判斷一個(gè)坐標(biāo)點(diǎn)是否在不規(guī)則多邊形內(nèi)部的算法,需要的朋友可以參考下
    2014-07-07
  • C++之如何設(shè)置字體顏色

    C++之如何設(shè)置字體顏色

    很多C++的初學(xué)者發(fā)現(xiàn),控制臺(tái)的顏色永遠(yuǎn)是黑白的,這未免太單調(diào)了,怎么才能使字體像那些軟件一樣呈彩色呢?現(xiàn)在,我們就將學(xué)習(xí)C++ 設(shè)置字體顏色的方法
    2023-08-08
  • C語(yǔ)言實(shí)現(xiàn)多線程定時(shí)器實(shí)例講解

    C語(yǔ)言實(shí)現(xiàn)多線程定時(shí)器實(shí)例講解

    在本篇文章里小編給各位分享的是一篇關(guān)于C語(yǔ)言實(shí)現(xiàn)多線程定時(shí)器實(shí)例講解內(nèi)容,有需要的朋友們可以參考學(xué)習(xí)下。
    2021-01-01
  • 詳解C++?functional庫(kù)中的仿函數(shù)使用方法

    詳解C++?functional庫(kù)中的仿函數(shù)使用方法

    仿函數(shù)(functor)又稱之為函數(shù)對(duì)象(function?object),實(shí)際上就是?重載了()操作符?的?struct或class。本文將詳細(xì)講解C++中仿函數(shù)的使用方法,需要的可以參考一下
    2022-04-04

最新評(píng)論

会泽县| 桃江县| 沁阳市| 定边县| 浦北县| 靖边县| 盘锦市| 宁城县| 紫阳县| 梧州市| 绍兴县| 宝清县| 柞水县| 都匀市| 秭归县| 星子县| 策勒县| 微山县| 朔州市| 浦县| 石家庄市| 二连浩特市| 黔江区| 安乡县| 巧家县| 建宁县| 天全县| 娄烦县| 延津县| 潼南县| 宁河县| 双辽市| 南宁市| 萨迦县| 北安市| 利川市| 社会| 民权县| 阳东县| 德令哈市| 永昌县|