如何全面掌握C++ STL中vector向量的所有基础使用技巧?

2026-04-12 05:431阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计2477个文字,预计阅读时间需要10分钟。

如何全面掌握C++ STL中vector向量的所有基础使用技巧?

@TOC前言C++ STL(Standard Template Library)是C++标准库的一部分,提供了一系列通用的模板容器和算法。它为C++程序员提供了一组高效、可重用的组件,简化了编程任务。其中,vector是STL中最重要且最常用的容器之一。它类似于数组,但提供了动态大小和丰富的操作功能。

vector简介vector是STL中的一种动态数组,可以存储任意类型的元素。它具有以下特点:- 动态大小:可以根据需要动态地增加或减少大小。- 高效的随机访问:可以像访问数组一样快速访问元素。- 自动内存管理:自动分配和释放内存,避免了手动管理内存的麻烦。- 丰富的操作功能:提供了插入、删除、查找等操作,方便使用。

vector的基本操作以下是vector的一些基本操作:

1. 初始化cppvector v;

2. 添加元素cppv.push_back(10); // 在vector末尾添加元素

3. 访问元素cppint value=v[0]; // 访问第一个元素

4. 删除元素cppv.erase(v.begin()); // 删除第一个元素

5. 查找元素cppauto it=find(v.begin(), v.end(), 10); // 查找元素10if (it !=v.end()) { // 找到元素}

6. 获取vector大小cppint size=v.size(); // 获取vector大小

7. 清空vectorcppv.clear(); // 清空vector

@TOC


前言

C++STL(Standard Template Library)是C++标准库中的一部分,提供了一组通用的模板容器和算法,以及一些有用的功能。其中,vector是STL中最重要且常用的容器之一。它类似于数组,但提供了更多的功能和灵活性。本文将详细介绍vector的基本使用方法,帮助读者快速入门。


一、头文件

当我们使用vector向量的时候,需要加上:

#include <vector> using namespace std;

头文件,第二行可写可不写,当不写时,需要加上std::前缀

二、定义vector向量

1、vector\<int\> vec; 这行代码的含义是在C++中定义了一个名为vec的变量,它的类型是vector,也就是一个整数向量。

vector:这是一个模板类,用来表示存储整数的向量。它提供了一系列的操作函数,方便我们对向量进行添加、删除、查找等操作。 vec:这是我们给这个变量取的一个名字,你可以根据实际情况自定义变量名。 这样写的原因是,我们可能需要在程序中存储一组整数,并对其进行各种操作,比如添加、删除、查找等。使用vector可以方便地管理这些整数,而具体的变量名vec是为了让我们能够通过这个名字引用到这个向量。通过这样的定义,我们可以使用vec来表示整数向量,并使用向量的成员函数来实现相关的操作,提高代码的可读性和易于维护性。

三、构造函数

1、vector(); 功能:这是一个无参构造函数,用于创建一个空的向量。 参数:没有参数,因为它是无参构造函数。 示例代码:

#include <vector> #include <iostream> int main() { std::vector<int> vec; // Create an empty vector std::cout << "Size of vec: " << vec.size() << std::endl; // Output: 0 return 0; }

输出:

2、vector(size_type _Count); 功能:这个构造函数用于创建一个包含指定数量元素的向量,所有元素的值为默认值。 参数: _Count:表示向量中包含的元素数量。 示例代码:

#include <vector> #include <iostream> int main() { std::vector<int> vec(5); // Create a vector with 5 elements, all initialized to 0 std::cout << "Size of vec: " << vec.size() << std::endl; // Output: 5 std::cout << "Elements of vec: "; for (const auto& element : vec) { std::cout << element << " "; // Output: 0 0 0 0 0 } return 0; }

输出:

3、vector( size_type num, const TYPE &val ); 功能:这个构造函数用于创建一个包含指定数量元素的向量,所有元素的值都为给定的val值。 参数: num:表示向量中包含的元素数量。 val:表示向量中所有元素的初始值。 示例代码:

#include <vector> #include <iostream> int main() { std::vector<int> vec(4, 10); // Create a vector with 4 elements, all initialized to 10 std::cout << "Size of vec: " << vec.size() << std::endl; // Output: 4 std::cout << "Elements of vec: "; for (const auto& element : vec) { std::cout << element << " "; // Output: 10 10 10 10 } return 0; }

输出:

4、vector( const vector &from ); 功能:这个构造函数用于创建一个与另一个向量from相同的向量。 参数: from:表示另一个向量,用于创建新向量的初始值。

示例代码:

#include <vector> #include <iostream> int main() { std::vector<int> fromVec = {1, 2, 3, 4, 5}; std::vector<int> vec(fromVec); // Create a new vector by copying fromVec std::cout << "Size of vec: " << vec.size() << std::endl; // Output: 5 std::cout << "Elements of vec: "; for (const auto& element : vec) { std::cout << element << " "; // Output: 1 2 3 4 5 } return 0; }

输出:

如何全面掌握C++ STL中vector向量的所有基础使用技巧?

这些函数都是向量类的构造函数,用于创建不同初始条件的向量对象。通过不同的参数组合,我们可以创建具有不同元素数量和初始值的向量。这些构造函数提供了方便的方式来初始化向量对象,以便在程序中使用。使用构造函数可以避免手动逐个元素添加到向量中的麻烦,提高了代码的可读性和开发效率。

四、属性函数

1.容量

1、capacity(); 功能:返回当前向量能够容纳的元素数量(即预分配的存储空间)。 参数:没有参数,因为它是一个成员函数。 返回值:一个整数,表示当前向量的容量。 示例代码:

#include <vector> #include <iostream> int main() { std::vector<int> vec; std::cout << "Capacity of vec: " << vec.capacity() << std::endl; // Output: 0 vec.push_back(1); std::cout << "Capacity of vec: " << vec.capacity() << std::endl; // Output: 1 vec.push_back(2); std::cout << "Capacity of vec: " << vec.capacity() << std::endl; // Output: 2 return 0; }

输出:

2、reserve(); 功能:增加向量的容量,以便至少能够存储指定数量的元素。 参数: new_capacity:新的容量值,表示要预留的存储空间大小。 返回值:无。 示例代码:

#include <vector> #include <iostream> int main() { std::vector<int> vec; std::cout << "Capacity of vec before reserve: " << vec.capacity() << std::endl; // Output: 0 vec.reserve(10); std::cout << "Capacity of vec after reserve: " << vec.capacity() << std::endl; // Output: 10 return 0; }

输出:

2.大小

1、size() 功能:返回当前向量中元素的数量。 参数:没有参数,因为它是一个成员函数。 返回值:一个整数,表示当前向量中的元素数量。 示例代码:

#include <vector> #include <iostream> int main() { std::vector<int> vec = {1, 2, 3, 4, 5}; std::cout << "Size of vec: " << vec.size() << std::endl; // Output: 5 return 0; }

输出:

2、resize() 功能:改变向量的大小,添加或删除元素以确保向量具有指定的数量。 参数: new_size:新的向量大小,表示要调整的元素数量。 返回值:无。 示例代码:

#include <vector> #include <iostream> int main() { std::vector<int> vec = {1, 2, 3}; std::cout << "Size of vec before resize: " << vec.size() << std::endl; // Output: 3 vec.resize(5); std::cout << "Size of vec after resize: " << vec.size() << std::endl; // Output: 5 return 0; }

输出:

3、empty() 功能:检查当前向量是否为空,即是否没有任何元素。 参数:没有参数,因为它是一个成员函数。 返回值:一个布尔值,如果向量为空则返回true,否则返回false。 示例代码:

#include <vector> #include <iostream> int main() { std::vector<int> vec; std::cout << "Is vec empty? " << (vec.empty() ? "Yes" : "No") << std::endl; // Output: Yes vec.push_back(1); std::cout << "Is vec empty? " << (vec.empty() ? "Yes" : "No") << std::endl; // Output: No return 0; }

输出:


总结

本文介绍了C++STL中vector的基本使用方法。首先,我们需要包含相应的头文件并使用std命名空间。然后可以创建空的vector或带初始值的vector,也可以通过复制其他vector来创建新的vector。接下来,我们学习了如何访问和修改vector中的元素,使用下标操作符[]或成员函数at()可以完成这些操作。还学习了向vector中添加和删除元素的方法,包括push_back()、pop_back()、insert()和erase()。最后,我们了解了如何获取vector的大小和容量,使用size()和capacity()函数可以轻松实现。

希望通过阅读这篇文章,读者对vector的基础使用有了更深入的了解,并能够在实际编程中灵活运用。vector作为STL中的重要容器,可以帮助我们高效地管理和操作数据,提升程序的性能和可维护性。

本文共计2477个文字,预计阅读时间需要10分钟。

如何全面掌握C++ STL中vector向量的所有基础使用技巧?

@TOC前言C++ STL(Standard Template Library)是C++标准库的一部分,提供了一系列通用的模板容器和算法。它为C++程序员提供了一组高效、可重用的组件,简化了编程任务。其中,vector是STL中最重要且最常用的容器之一。它类似于数组,但提供了动态大小和丰富的操作功能。

vector简介vector是STL中的一种动态数组,可以存储任意类型的元素。它具有以下特点:- 动态大小:可以根据需要动态地增加或减少大小。- 高效的随机访问:可以像访问数组一样快速访问元素。- 自动内存管理:自动分配和释放内存,避免了手动管理内存的麻烦。- 丰富的操作功能:提供了插入、删除、查找等操作,方便使用。

vector的基本操作以下是vector的一些基本操作:

1. 初始化cppvector v;

2. 添加元素cppv.push_back(10); // 在vector末尾添加元素

3. 访问元素cppint value=v[0]; // 访问第一个元素

4. 删除元素cppv.erase(v.begin()); // 删除第一个元素

5. 查找元素cppauto it=find(v.begin(), v.end(), 10); // 查找元素10if (it !=v.end()) { // 找到元素}

6. 获取vector大小cppint size=v.size(); // 获取vector大小

7. 清空vectorcppv.clear(); // 清空vector

@TOC


前言

C++STL(Standard Template Library)是C++标准库中的一部分,提供了一组通用的模板容器和算法,以及一些有用的功能。其中,vector是STL中最重要且常用的容器之一。它类似于数组,但提供了更多的功能和灵活性。本文将详细介绍vector的基本使用方法,帮助读者快速入门。


一、头文件

当我们使用vector向量的时候,需要加上:

#include <vector> using namespace std;

头文件,第二行可写可不写,当不写时,需要加上std::前缀

二、定义vector向量

1、vector\<int\> vec; 这行代码的含义是在C++中定义了一个名为vec的变量,它的类型是vector,也就是一个整数向量。

vector:这是一个模板类,用来表示存储整数的向量。它提供了一系列的操作函数,方便我们对向量进行添加、删除、查找等操作。 vec:这是我们给这个变量取的一个名字,你可以根据实际情况自定义变量名。 这样写的原因是,我们可能需要在程序中存储一组整数,并对其进行各种操作,比如添加、删除、查找等。使用vector可以方便地管理这些整数,而具体的变量名vec是为了让我们能够通过这个名字引用到这个向量。通过这样的定义,我们可以使用vec来表示整数向量,并使用向量的成员函数来实现相关的操作,提高代码的可读性和易于维护性。

三、构造函数

1、vector(); 功能:这是一个无参构造函数,用于创建一个空的向量。 参数:没有参数,因为它是无参构造函数。 示例代码:

#include <vector> #include <iostream> int main() { std::vector<int> vec; // Create an empty vector std::cout << "Size of vec: " << vec.size() << std::endl; // Output: 0 return 0; }

输出:

2、vector(size_type _Count); 功能:这个构造函数用于创建一个包含指定数量元素的向量,所有元素的值为默认值。 参数: _Count:表示向量中包含的元素数量。 示例代码:

#include <vector> #include <iostream> int main() { std::vector<int> vec(5); // Create a vector with 5 elements, all initialized to 0 std::cout << "Size of vec: " << vec.size() << std::endl; // Output: 5 std::cout << "Elements of vec: "; for (const auto& element : vec) { std::cout << element << " "; // Output: 0 0 0 0 0 } return 0; }

输出:

3、vector( size_type num, const TYPE &val ); 功能:这个构造函数用于创建一个包含指定数量元素的向量,所有元素的值都为给定的val值。 参数: num:表示向量中包含的元素数量。 val:表示向量中所有元素的初始值。 示例代码:

#include <vector> #include <iostream> int main() { std::vector<int> vec(4, 10); // Create a vector with 4 elements, all initialized to 10 std::cout << "Size of vec: " << vec.size() << std::endl; // Output: 4 std::cout << "Elements of vec: "; for (const auto& element : vec) { std::cout << element << " "; // Output: 10 10 10 10 } return 0; }

输出:

4、vector( const vector &from ); 功能:这个构造函数用于创建一个与另一个向量from相同的向量。 参数: from:表示另一个向量,用于创建新向量的初始值。

示例代码:

#include <vector> #include <iostream> int main() { std::vector<int> fromVec = {1, 2, 3, 4, 5}; std::vector<int> vec(fromVec); // Create a new vector by copying fromVec std::cout << "Size of vec: " << vec.size() << std::endl; // Output: 5 std::cout << "Elements of vec: "; for (const auto& element : vec) { std::cout << element << " "; // Output: 1 2 3 4 5 } return 0; }

输出:

如何全面掌握C++ STL中vector向量的所有基础使用技巧?

这些函数都是向量类的构造函数,用于创建不同初始条件的向量对象。通过不同的参数组合,我们可以创建具有不同元素数量和初始值的向量。这些构造函数提供了方便的方式来初始化向量对象,以便在程序中使用。使用构造函数可以避免手动逐个元素添加到向量中的麻烦,提高了代码的可读性和开发效率。

四、属性函数

1.容量

1、capacity(); 功能:返回当前向量能够容纳的元素数量(即预分配的存储空间)。 参数:没有参数,因为它是一个成员函数。 返回值:一个整数,表示当前向量的容量。 示例代码:

#include <vector> #include <iostream> int main() { std::vector<int> vec; std::cout << "Capacity of vec: " << vec.capacity() << std::endl; // Output: 0 vec.push_back(1); std::cout << "Capacity of vec: " << vec.capacity() << std::endl; // Output: 1 vec.push_back(2); std::cout << "Capacity of vec: " << vec.capacity() << std::endl; // Output: 2 return 0; }

输出:

2、reserve(); 功能:增加向量的容量,以便至少能够存储指定数量的元素。 参数: new_capacity:新的容量值,表示要预留的存储空间大小。 返回值:无。 示例代码:

#include <vector> #include <iostream> int main() { std::vector<int> vec; std::cout << "Capacity of vec before reserve: " << vec.capacity() << std::endl; // Output: 0 vec.reserve(10); std::cout << "Capacity of vec after reserve: " << vec.capacity() << std::endl; // Output: 10 return 0; }

输出:

2.大小

1、size() 功能:返回当前向量中元素的数量。 参数:没有参数,因为它是一个成员函数。 返回值:一个整数,表示当前向量中的元素数量。 示例代码:

#include <vector> #include <iostream> int main() { std::vector<int> vec = {1, 2, 3, 4, 5}; std::cout << "Size of vec: " << vec.size() << std::endl; // Output: 5 return 0; }

输出:

2、resize() 功能:改变向量的大小,添加或删除元素以确保向量具有指定的数量。 参数: new_size:新的向量大小,表示要调整的元素数量。 返回值:无。 示例代码:

#include <vector> #include <iostream> int main() { std::vector<int> vec = {1, 2, 3}; std::cout << "Size of vec before resize: " << vec.size() << std::endl; // Output: 3 vec.resize(5); std::cout << "Size of vec after resize: " << vec.size() << std::endl; // Output: 5 return 0; }

输出:

3、empty() 功能:检查当前向量是否为空,即是否没有任何元素。 参数:没有参数,因为它是一个成员函数。 返回值:一个布尔值,如果向量为空则返回true,否则返回false。 示例代码:

#include <vector> #include <iostream> int main() { std::vector<int> vec; std::cout << "Is vec empty? " << (vec.empty() ? "Yes" : "No") << std::endl; // Output: Yes vec.push_back(1); std::cout << "Is vec empty? " << (vec.empty() ? "Yes" : "No") << std::endl; // Output: No return 0; }

输出:


总结

本文介绍了C++STL中vector的基本使用方法。首先,我们需要包含相应的头文件并使用std命名空间。然后可以创建空的vector或带初始值的vector,也可以通过复制其他vector来创建新的vector。接下来,我们学习了如何访问和修改vector中的元素,使用下标操作符[]或成员函数at()可以完成这些操作。还学习了向vector中添加和删除元素的方法,包括push_back()、pop_back()、insert()和erase()。最后,我们了解了如何获取vector的大小和容量,使用size()和capacity()函数可以轻松实现。

希望通过阅读这篇文章,读者对vector的基础使用有了更深入的了解,并能够在实际编程中灵活运用。vector作为STL中的重要容器,可以帮助我们高效地管理和操作数据,提升程序的性能和可维护性。