【问题标题】:What is the difference between vector<int> a , vector<int> a[n] and vector<int> a(n)?vector<int> a 、 vector<int> a[n] 和 vector<int> a(n) 有什么区别?
【发布时间】:2020-07-15 18:04:22
【问题描述】:

我刚刚了解了向量,但我对它们的使用感到困惑。

请告诉我有什么区别:

vector<int> a;

,

vector<int> a[n];

vector<int> a(n);

【问题讨论】:

  • 让我问你,int aint a[n]int a(n) 有什么区别(最后一个不完全一样,但对于这个练习来说足够接近)?跨度>
  • @NathanOliver 我知道所有其他人,但 int(a) 是什么?
  • int a(n) 创建一个值为nint。对于向量vector&lt;int&gt; a(n),创建一个向量,其中n 元素作为a 的“值”。
  • int (a); 相当于int a; :) 问题/评论中的拼写错误:)
  • @NathanOliver 这意味着`vector a[n]`将创建“n”个“int”类型的向量。 `vector a(n)` 将创建一个具有“n”个“int”类型元素的向量。对吗?

标签: c++ arrays vector initialization declaration


【解决方案1】:

vector&lt;int&gt; a; 声明一个空向量。

vector&lt;int&gt; a[n]; 声明一个包含n 空向量的数组。

vector&lt;int&gt; a(n); 声明一个包含n 零的向量。

奖金:

vector&lt;int&gt; a{n}; 声明一个包含单个元素 n 的向量。

【讨论】:

    【解决方案2】:
    vector<int> a; 
    

    声明 vectorints 名为 a

    vector<int> a[n]; 
    

    声明 arrayvectors 的 ints 命名为 an 元素。

    vector<int> a(n);
    

    声明vectorints a 初始化为n0s 的数量。

    【讨论】: