在C++中,vector<int> a(n)
和 vector<int> a
是两种不同的声明方式,它们有一些区别:
1.vector<int> a(n)
:
这是一个带有参数 n
的构造函数调用,用于创建一个包含 n
个元素的整型向量 a
。
这意味着在创建向量时,会分配足够的内存来容纳 n
个整数,并将这些整数初始化为默认值(对于 int
类型,初始化为0)。这样的初始化会在构造向量时完成。
vector<int> a(n); // 创建一个包含 n 个整数的向量,每个整数都被初始化为0
2.vector<int> a
:
这是一个默认构造函数调用,用于创建一个空的整型向量 a
,其中不包含任何元素。向量的大小为0,不占用实际的内存空间。
vector<int> a; // 创建一个空的整数向量
3.两者的运用和赋值,包括输入输出
#include <bits/stdc++.h>
using namespace std;
int main()
{
// 使用 vector<int> a(n) 方式赋值的例子
int n = 5;
vector<int> a(n); // 创建一个包含5个整数的向量
// 输入改变向量值
for (int j = 0; j < 5; j++) {
a[j] = j;
}
// 输出向量值
cout << "使用 vector<int> a(n) 方式赋值的向量:" << endl;
for (int i = 0; i < n; ++i) {
cout << "a[" << i << "] = " << a[i] << endl;
}
// 使用 vector<int> a 方式赋值的例子
vector<int> b; // 创建一个空的整数向量
// 向向量中添加元素 用push_back
b.push_back(1);
b.push_back(2);
b.push_back(3);
// 输出向量的内容
cout << "\n使用 vector<int> a 方式赋值的向量:" << endl;
for (int i = 0; i < b.size(); ++i) {
cout << "b[" << i << "] = " << b[i] << endl;
}
return 0;
}
【运行结果】
使用 vector<int> a(n) 方式赋值的向量:
a[0] = 0
a[1] = 1
a[2] = 2
a[3] = 3
a[4] = 4
使用 vector<int> a 方式赋值的向量:
b[0] = 1
b[1] = 2
b[2] = 3