如何在C++中使用动态数组?C++ vector介绍
C++ vector是一种动态数组,可以根据需要自动调整大小。vector的优点是可以高效地访问和修改元素,而不需要管理内存分配。vector的缺点是插入和删除元素可能会导致性能下降,因为需要移动其他元素或重新分配内存。本文将介绍vector的基本用法和常见操作。
要使用vector,首先需要包含头文件
#include <vector>
std::vector<int> v;
这样就创建了一个空的vector,没有任何元素。要向vector中添加元素,可以使用push_back()方法,将元素追加到vector的末尾。例如,要向v中添加1, 2, 3, 可以这样写:
v.push_back(1);
v.push_back(2);
v.push_back(3);
这样v就变成了{1, 2, 3}。要访问vector中的元素,可以使用下标运算符[],指定元素的索引。索引从0开始,到size()-1结束。size()方法返回vector中的元素个数。例如,要打印v中的第一个和最后一个元素,可以这样写:
std::cout << v[0] << std::endl; // 输出1
std::cout << v[v.size()-1] << std::endl; // 输出3
要修改vector中的元素,也可以使用下标运算符[],给元素赋新值。例如,要将v中的第二个元素改为4,可以这样写:
v[1] = 4;
这样v就变成了{1, 4, 3}。要删除vector中的元素,可以使用pop_back()方法,将最后一个元素弹出并返回。例如,要删除v中的最后一个元素,并打印它,可以这样写:
int x = v.pop_back();
std::cout << x << std::endl; // 输出3
这样v就变成了{1, 4}。要在vector中的任意位置插入或删除元素,可以使用insert()和erase()方法,指定插入或删除的位置。位置用迭代器表示,迭代器是一种指向容器中元素的指针。要获取vector中某个位置的迭代器,可以使用begin()和end()方法,分别返回指向第一个和最后一个元素之后的迭代器。还可以使用加减法运算符对迭代器进行偏移。例如,要在v中的第二个位置插入5,并删除第一个位置的元素,可以这样写:
v.insert(v.begin()+1, 5); // 在第二个位置插入5
v.erase(v.begin()); // 删除第一个位置的元素
这样v就变成了{5, 4}。除了上述操作外,vector还提供了一些其他方法和属性,如clear()清空所有元素,empty()判断是否为空,capacity()返回分配的内存大小等。更多信息可以参考官方文档或相关教程。
总之,C++ vector是一种方便而强大的容器类,可以用来存储和操作任意类型的数据。通过掌握vector的基本用法和常见操作,可以提高编程效率和质量。
C++相关课程推荐 C++相关课程