c++ vector构造方法
一、概述
C++中的vector(向量)是一种动态数组,可以随着元素的添加或删除而自动调整大小。vector容器提供了一系列的构造方法,方便我们创建和使用向量。
二、常用构造方法
1.默认构造方法
vector<T> vec; 这个构造方法会创建一个空向量。如果需要,可以随后通过push_back()方法添加元素。
2.参数构造方法
vector<T>(size_t n, T value); 这个构造方法会创建一个大小为n的向量,所有元素初始化为value。
析构方法
3.拷贝构造方法
vector<T>(const vector<T>& other); 这个构造方法会创建一个与other向量大小相同、元素值相同的新向量。
4.从迭代器构造
vector<T>(iterator first, iterator last); 这个构造方法会创建一个包含first和last之间元素的向量。
5.从区间构造
vector<T>(const_iterator first, const_iterator last); 这个构造方法会创建一个包含first和last之间元素的向量。
三、析构方法
vector容器在销毁时会自动释放分配的内存,无需手动析构。
四、实例演示
以下是一个简单的实例,演示了如何使用vector构造方法:
```cpp
#include <iostream>
#include <vector>
int main() {
    // 默认构造方法
    vector<int> vec1;
   
    // 参数构造方法
    vector<int> vec2(5, 10);
   
    // 拷贝构造方法
    vector<int> vec3(vec2);
   
    // 从迭代器构造
    vector<int> vec4(vec2.begin(), d());
   
    // 从区间构造
    vector<int> vec5(vec2.begin(), d());
    // 输出向量大小
    std::cout << "vec1 size: " << vec1.size() << std::endl;
    std::cout << "vec2 size: " << vec2.size() << std::endl;
    std::cout << "vec3 size: " << vec3.size() << std::endl;
    std::cout << "vec4 size: " << vec4.size() << std::endl;
    std::cout << "vec5 size: " << vec5.size() << std::endl;
    return 0;
}
```
运行上述代码,将输出:
```
vec1 size: 0
vec2 size: 5
vec3 size: 5
vec4 size: 5
vec5 size: 5
```
通过这个实例,我们可以看到如何使用不同的构造方法创建大小和元素相同的向量。