C++之标准库vector
目錄1、成員函數2、元素訪問3、迭代器iterator4、容量capacity5、修改函數
std::vector是一個封裝動態數組的序列容器
std::pmr::vector是一個使用多態分配器的別名模板。
1、成員函數
vector::vector:構造函數,用于構造向量。
vector::~vector:析構函數,對象撤銷回收時調用。
vector::operator:分配值到容器中。
vector::assign:分配值到容器中。
vector::get allocator:返回相關的分配器。
2、元素訪問
vector::at:訪問邊界檢查的指定元素。
vector::operator[]:訪問具體元素。
vector::front:返回第一個元素。
vector::back:返回最后一個元素。
vector::data:直接訪問底層數組。
3、迭代器iterator
vector::begin/cbegin:將迭代器返回到開頭。
vector::end/cend:將迭代器返回到末尾。
vector::rbegin/crbegin:將反向迭代器返回到開頭。
vector::rend/crend:將反向迭代器返回到末尾。
4、容量capacity
vector::empty:檢查容器是否為空。
-vector::size:返回元素的數量。
-vector::max_size:返回最大的可能的元素數量。
vector::reserve:反向存儲。
vector::capacity:返回當前分配存儲中可以保留的元素數量。
vector::shrink_to_fit:通過釋放未使用的內存,減少內存的使用。
5、修改函數
vector::clean:清除內容。
vector::insert:插入元素。
vector::empalce:就地構造元素。
vector::erase:擦除元素。
vector::push_back:添加一個元素到末尾。
vector::emplace_back:在末尾就地構造一個元素。
vector::pop_back:移除最后一個元素。
vector::resize:改變元素存儲的數量。
vector::swap:交換內容。
舉例:
#include <vector>
#include <string>
#include <iostream>
template<typename T>
std::ostream& operator<<(std::ostream& s, const std::vector<T>& v) {
s.put('[');
char comma[3] = {'', ' ', ''};
for(const auto& e : v) {
s << comma << e;
comma[0] = ',';
}
return s << ']';
}
int main() {
// 初始化符號
std::vector<std::string> words1 {"the", "frogurt", "is", "also", "cursed"};
std::cout << "words1: " << words1 << "
";
// words2 == words1
std::vector<std::string> words2(words1.begin(), words1.end());
std::cout << "words2: " << words2 << "
";
// words3 == words1
std::vector<std::string> words3(words1);
std::cout << "words3: " << words3 << "
";
// words4 is {"Mo", "Mo", "Mo", "Mo", "Mo"}
std::vector<std::string> words4(5, "Mo");
std::cout << "words4: " << words4 << "
";
}
總結
以上是生活随笔為你收集整理的C++之标准库vector的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 手游通用的颜色代码
- 下一篇: python之内置函数(一)