亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

搜索

c++中vector如何使用和初始化_c++ vector容器使用與初始化教程

下次還敢
發(fā)布: 2025-10-15 21:07:01
原創(chuàng)
144人瀏覽過
C++中vector是常用STL容器,位于<vector>頭文件,支持隨機(jī)訪問和動(dòng)態(tài)擴(kuò)容。可默認(rèn)初始化為空,指定大小或大小與初值,用另一vector拷貝構(gòu)造,C++11支持初始化列表{1,2,3},也可通過數(shù)組指針arr,arr+3或迭代器v1.begin(),v1.end()初始化。常用操作包括push_back、pop_back、size、empty、at[]訪問、front、back及clear。遍歷方式有下標(biāo)、范圍for和迭代器三種,使用靈活高效。

c++中vector如何使用和初始化_c++ vector容器使用與初始化教程

在C++中,vector 是一個(gè)非常常用的標(biāo)準(zhǔn)模板庫(STL)容器,它封裝了動(dòng)態(tài)數(shù)組,能夠自動(dòng)管理內(nèi)存,支持隨機(jī)訪問,并且可以在運(yùn)行時(shí)動(dòng)態(tài)地添加或刪除元素。下面詳細(xì)介紹 vector 的使用方法和多種初始化方式。

vector 的基本特點(diǎn)

vector 屬于 std 命名空間,位于 <vector> 頭文件中。它的主要特性包括:

  • 支持隨機(jī)訪問(可通過下標(biāo)操作符 [] 或 at() 訪問元素)
  • 自動(dòng)擴(kuò)容:當(dāng)空間不足時(shí),會(huì)重新分配更大的內(nèi)存并復(fù)制原有數(shù)據(jù)
  • 尾部插入和刪除效率高(使用 push_back 和 pop_back)
  • 可在程序運(yùn)行時(shí)動(dòng)態(tài)改變大小

包含頭文件與命名空間

使用 vector 前必須包含頭文件:

#include <vector>
using namespace std; // 可選,避免頻繁寫 std::

vector 的常見初始化方式

以下是 vector 的幾種典型初始化方法:

立即學(xué)習(xí)C++免費(fèi)學(xué)習(xí)筆記(深入)”;

1. 默認(rèn)初始化(空 vector)

vector<int> v1; // 創(chuàng)建一個(gè)空的 int 類型 vector
vector<string> v2; // 空的 string vector

此時(shí) vector 大小為 0,可通過 push_back 添加元素。

2. 指定初始大小

vector<int> v(5); // 創(chuàng)建包含 5 個(gè)元素的 vector,值初始化為 0

所有元素會(huì)被默認(rèn)初始化(內(nèi)置類型如 int 初始化為 0,類類型調(diào)用默認(rèn)構(gòu)造函數(shù))。

3. 指定大小和初始值

vector<int> v(5, 10); // 創(chuàng)建 5 個(gè)元素,每個(gè)值為 10

適用于需要統(tǒng)一初值的場景。

4. 用另一個(gè) vector 初始化(拷貝構(gòu)造)

AI圖像編輯器
AI圖像編輯器

使用文本提示編輯、變換和增強(qiáng)照片

AI圖像編輯器46
查看詳情 AI圖像編輯器
vector<int> v1(5, 2);
vector<int> v2(v1); // v2 是 v1 的副本

5. 使用初始化列表(C++11 起支持)

vector<int> v = {1, 2, 3, 4, 5};
vector<string> names{"Alice", "Bob", "Charlie"};

這是最直觀的初始化方式,適合已知具體值的情況。

6. 通過數(shù)組初始化

int arr[] = {10, 20, 30};
vector<int> v(arr, arr + 3);

利用指針范圍構(gòu)造 vector,arr 是首地址,arr+3 是末尾后一位。

7. 使用迭代器初始化

vector<int> v1 = {1, 2, 3};
vector<int> v2(v1.begin(), v1.end()); // v2 包含 v1 所有元素

常用操作方法

掌握初始化后,以下是一些常用的 vector 操作:

  • size():返回當(dāng)前元素個(gè)數(shù)
  • empty():判斷是否為空
  • push_back(value):在尾部添加元素
  • pop_back():刪除最后一個(gè)元素
  • at(i)[i]:訪問索引 i 處的元素(at 會(huì)做越界檢查)
  • clear():清空所有元素
  • front()back():獲取第一個(gè)和最后一個(gè)元素

示例代碼:

vector<int> v = {1, 2, 3};
v.push_back(4); // v 變?yōu)?{1,2,3,4}
cout << v.size(); // 輸出 4
cout << v[0]; // 輸出 1
v.pop_back(); // 刪除最后一個(gè)元素
if (!v.empty()) {
??cout << v.back(); // 輸出 3
}

遍歷 vector 的方式

可以通過以下幾種方式遍歷:

  • 下標(biāo)遍歷for (int i = 0; i < v.size(); ++i) { cout << v[i]; }
  • 范圍 for 循環(huán)(推薦)for (int x : v) { cout << x << " "; }
  • 迭代器遍歷for (auto it = v.begin(); it != v.end(); ++it) { cout << *it; }

基本上就這些。vector 使用靈活,初始化方式多樣,是 C++ 編程中最常使用的容器之一。熟練掌握其用法能顯著提升編碼效率和程序穩(wěn)定性。

以上就是c++++中vector如何使用和初始化_c++ vector容器使用與初始化教程的詳細(xì)內(nèi)容,更多請關(guān)注php中文網(wǎng)其它相關(guān)文章!

c++速學(xué)教程(入門到精通)
c++速學(xué)教程(入門到精通)

c++怎么學(xué)習(xí)?c++怎么入門?c++在哪學(xué)?c++怎么學(xué)才快?不用擔(dān)心,這里為大家提供了c++速學(xué)教程(入門到精通),有需要的小伙伴保存下載就能學(xué)習(xí)啦!

下載
來源:php中文網(wǎng)
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請聯(lián)系admin@php.cn
最新問題
開源免費(fèi)商場系統(tǒng)廣告
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板
關(guān)于我們 免責(zé)申明 意見反饋 講師合作 廣告合作 最新更新
php中文網(wǎng):公益在線php培訓(xùn),幫助PHP學(xué)習(xí)者快速成長!
關(guān)注服務(wù)號(hào) 技術(shù)交流群
PHP中文網(wǎng)訂閱號(hào)
每天精選資源文章推送
PHP中文網(wǎng)APP
隨時(shí)隨地碎片化學(xué)習(xí)
PHP中文網(wǎng)抖音號(hào)
發(fā)現(xiàn)有趣的

Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號(hào)