C++ vector<int>类型成员函数的初始化
时间: 2023-10-22 08:17:48 浏览: 48
C++中的vector有多种初始化方式,可以通过构造函数或者赋值运算符完成。以下是几种常见的初始化方式:
1. 使用默认构造函数初始化空vector
```c++
std::vector<int> v; // 初始化一个空vector
```
2. 使用初始化列表初始化vector
```c++
std::vector<int> v = {1, 2, 3}; // 初始化一个含有1,2,3三个元素的vector
```
3. 使用构造函数初始化vector
```c++
std::vector<int> v(5, 10); // 初始化一个含有5个元素,每个元素都是10的vector
```
4. 使用赋值运算符向空vector中添加元素
```c++
std::vector<int> v;
v.push_back(1);
v.push_back(2);
v.push_back(3);
```
以上是常见的初始化方式,还有其他一些高级用法,需要根据实际需求来选择。
相关问题
c++ vector<int>如何初始化
你可以使用以下方式初始化一个 vector<int>:
1. 使用默认构造函数:vector<int> v;
2. 使用指定大小和初始值的构造函数:vector<int> v(size, value);
3. 使用另一个 vector 初始化:vector<int> v(another_vector);
4. 使用迭代器初始化:vector<int> v(begin_iterator, end_iterator);
例如,以下代码演示了如何使用不同的方式初始化 vector<int>:
```
#include <iostream>
#include <vector>
using namespace std;
int main() {
// 使用默认构造函数
vector<int> v1;
cout << "v1 size: " << v1.size() << endl;
// 使用指定大小和初始值的构造函数
vector<int> v2(5, 10);
cout << "v2 size: " << v2.size() << endl;
for (int i = 0; i < v2.size(); i++) {
cout << v2[i] << " ";
}
cout << endl;
// 使用另一个 vector 初始化
vector<int> v3(v2);
cout << "v3 size: " << v3.size() << endl;
for (int i = 0; i < v3.size(); i++) {
cout << v3[i] << " ";
}
cout << endl;
// 使用迭代器初始化
vector<int> v4(v2.begin() + 1, v2.end() - 1);
cout << "v4 size: " << v4.size() << endl;
for (int i = 0; i < v4.size(); i++) {
cout << v4[i] << " ";
}
cout << endl;
return 0;
}
```
输出结果为:
```
v1 size: 0
v2 size: 5
10 10 10 10 10
v3 size: 5
10 10 10 10 10
v4 size: 3
10 10 10
```
vector<vector<int>>& mat 初始化
要初始化一个二维vector`vector<vector<int>>`,可以使用以下方法:
```c++
int rows = 3;
int cols = 4;
vector<vector<int>> mat(rows, vector<int>(cols, 0));
```
这个方法会创建一个大小为`rows`x`cols`的二维vector,其中每个元素都是0。如果你想要将它们初始化为其他值,只需要将0替换为你想要的值即可。例如,要初始化一个4x4的二维vector,其中每个元素都是1,可以这样做:
```c++
int rows = 4;
int cols = 4;
vector<vector<int>> mat(rows, vector<int>(cols, 1));
```