默认的用法
vector<int>(m)
这段代码创建了一个包含m
个元素的向量,并且每个元素都被初始化为0。这是使用默认构造函数和指定大小初始化向量的一种方式。- vector<vector<int>> arr(n, vector<int>(m))这行代码创建了一个二维向量
arr
,它有n
行和m
列。向量的每个元素都被初始化为0。
也可以写成这样:vector<vector<int>> arr; arr.resize(n, vector<int>(m));
一维向量初始化
使用默认构造函数初始化:
vector<int> vec; // 空向量
使用初始化列表初始化:
vector<int> vec = {1, 2, 3}; // 包含元素1, 2, 3的向量
使用拷贝构造函数初始化:
vector<int> vec1 = {1, 2, 3}; vector<int> vec2(vec1); // 使用vec1的元素初始化vec2
使用指定大小和初始值初始化:
vector<int> vec(5, 0); // 包含5个元素,每个元素都初始化为0
使用迭代器初始化:
vector<int> vec = {1, 2, 3}; vector<int> vec2(vec.begin(), vec.end()); // 使用vec的元素初始化vec2
二维向量初始化
使用默认构造函数初始化:
vector<vector<int>> arr; // 空的二维向量
使用初始化列表初始化:
vector<vector<int>> arr = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}; // 包含多个子向量的二维向量
使用拷贝构造函数初始化:
vector<vector<int>> arr1 = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}; vector<vector<int>> arr2(arr1); // 使用arr1的元素初始化arr2
使用指定大小和初始值初始化:
int n = 3; // 行数 int m = 4; // 列数 int initial_value = 0; vector<vector<int>> arr(n, vector<int>(m, initial_valu