mirror of http://git.sairate.top/sairate/doc.git
3.4 KiB
3.4 KiB
-
构造函数:
vector<T>
:创建一个空的向量,元素类型为T
。vector<T>(size_type count)
:创建包含count
个默认构造的元素的向量。vector<T>(size_type count, const T& value)
:创建包含count
个值为value
的元素的向量。vector<T>(InputIterator first, InputIterator last)
:使用迭代器范围[first, last)
中的元素创建向量。
-
元素访问:
vector::operator[]
:通过索引访问元素。vector::at(size_type pos)
:通过位置访问元素,如果越界会抛出std::out_of_range
异常。vector::front()
:返回第一个元素的引用。vector::back()
:返回最后一个元素的引用。vector::data()
:返回指向底层数据的指针。
-
迭代器:
vector::begin()
:返回指向第一个元素的迭代器。vector::end()
:返回指向最后一个元素后面位置的迭代器。vector::rbegin()
:返回指向最后一个元素的逆向迭代器。vector::rend()
:返回指向第一个元素前面位置的逆向迭代器。
-
容量:
vector::size()
:返回向量中元素的数量。vector::max_size()
:返回向量能容纳的最大元素数量。vector::empty()
:检查向量是否为空。vector::reserve(size_type new_cap)
:为向量预留至少能容纳new_cap
个元素的空间。vector::capacity()
:返回向量当前能容纳的元素数量。
-
修改容器:
vector::push_back(const T& value)
:在向量末尾添加一个元素。vector::pop_back()
:移除向量末尾的元素。vector::insert(iterator pos, const T& value)
:在指定位置插入一个元素。vector::erase(iterator pos)
:移除指定位置的元素。vector::clear()
:清空向量中的所有元素。
-
比较:
vector::operator==
、vector::operator!=
、vector::operator<
、vector::operator<=
、vector::operator>
、vector::operator>=
:用于比较两个向量的操作符。
-
其他操作:
vector::swap(vector& other)
:交换两个向量的内容。vector::emplace_back(Args&&... args)
:在向量末尾构造一个元素。vector::shrink_to_fit()
:将向量的容量调整为其当前元素数量。
#include <iostream>
#include <vector>
int main() {
// 创建一个空的整数向量
std::vector<int> numbers;
// 在向量末尾添加元素
numbers.push_back(10);
numbers.push_back(20);
numbers.push_back(30);
// 使用迭代器遍历向量并输出元素
std::cout << "Vector elements:";
for (auto it = numbers.begin(); it != numbers.end(); ++it) {
std::cout << " " << *it;
}
std::cout << std::endl;
// 访问向量的第一个和最后一个元素
std::cout << "First element: " << numbers.front() << std::endl;
std::cout << "Last element: " << numbers.back() << std::endl;
// 检查向量是否为空
std::cout << "Is the vector empty? " << (numbers.empty() ? "Yes" : "No") << std::endl;
// 获取向量的大小和容量
std::cout << "Vector size: " << numbers.size() << std::endl;
std::cout << "Vector capacity: " << numbers.capacity() << std::endl;
// 清空向量
numbers.clear();
std::cout << "Vector size after clear: " << numbers.size() << std::endl;
return 0;
}