在 C++ 中,我們經(jīng)常需要處理一些不確定長(zhǎng)度的數(shù)據(jù)集合。而 ?vector
? 是一個(gè)非常實(shí)用的容器類,它可以讓我們方便地管理動(dòng)態(tài)數(shù)組,并提供了豐富的操作方法。
下面就來(lái)看看如何使用 ?vector
? 實(shí)現(xiàn)一些具體的功能。
1. 初始化 vector
我們可以通過(guò)以下方式來(lái)初始化一個(gè) ?vector
?:
#include <vector>
std::vector<int> v; // 初始化一個(gè)空 vector
std::vector<int> v{1, 2, 3}; // 初始化一個(gè)包含 1、2、3 的 vector
2. 添加元素
我們可以使用 ?push_back()
? 方法向 ?vector
? 中添加元素:
std::vector<int> v;
v.push_back(1);
v.push_back(2);
v.push_back(3);
此時(shí),v 中的元素為 {1, 2, 3}。
3. 訪問(wèn)元素
我們可以使用 ?[]
? 運(yùn)算符或 ?at()
? 方法來(lái)訪問(wèn) ?vector
? 中的元素:
std::vector<int> v{1, 2, 3};
int a = v[0]; // a = 1
int b = v.at(1); // b = 2
需要注意的是,如果使用 ?[]
? 運(yùn)算符訪問(wèn)越界的元素,程序?qū)?huì)崩潰。而 ?at()
? 方法會(huì)拋出 ?out_of_range
? 異常。
4. 修改元素
我們可以直接使用 ?[]
? 運(yùn)算符或 ?at()
? 方法修改 ?vector
? 中的元素:
std::vector<int> v{1, 2, 3};
v[0] = 4; // v 現(xiàn)在為 {4, 2, 3}
v.at(1) = 5; // v 現(xiàn)在為 {4, 5, 3}
5. 刪除元素
我們可以使用 ?erase()
? 方法刪除 ?vector
? 中的元素:
std::vector<int> v{1, 2, 3};
v.erase(v.begin() + 1); // 刪除第二個(gè)元素,v 現(xiàn)在為 {1, 3}
需要注意的是,?erase()
? 方法會(huì)使后面的元素往前移動(dòng)一個(gè)位置。
6. 清空 vector
我們可以使用 ?clear()
? 方法清空 ?vector
? 中的元素:
std::vector<int> v{1, 2, 3};
v.clear(); // v 現(xiàn)在為空
7. 獲取 vector 的大小
我們可以使用 ?size()
? 方法獲取 ?vector
? 中元素的個(gè)數(shù):
std::vector<int> v{1, 2, 3};
int size = v.size(); // size = 3
通過(guò)上述實(shí)例,我們可以看到 ?vector
? 提供了方便的方法來(lái)管理動(dòng)態(tài)數(shù)組。它不僅可以保存基本類型,還可以保存對(duì)象、結(jié)構(gòu)體等復(fù)雜數(shù)據(jù)類型。因此,在 C++ 開(kāi)發(fā)中,?vector
? 是一個(gè)非常常用的容器類。
如果您還是C++初學(xué)者,可以先來(lái)試試 C++入門課程 ,零基礎(chǔ)也能學(xué)習(xí)C++!