C++ 在C+中初始化带有零的向量数组+;

C++ 在C+中初始化带有零的向量数组+;,c++,c++11,C++,C++11,我想要一个向量数组,在所有单个向量中,0作为一个元素。有没有更有效的方法?这行吗 #include<iostream> #include<vector> #include<algorithm> using namespace std; int main(){ int lastAnswer = 0; int n,q; cin >> n >> q; vector<int

我想要一个向量数组,在所有单个向量中,0作为一个元素。有没有更有效的方法?这行吗

#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main(){

        int lastAnswer = 0;
        int n,q;
        cin >> n >> q;
        vector<int> seqArr[n];
        for(int i=0;i<n;i++)
        {
                fill(seqArr[i].begin(),seqArr[i].end(),0);
        }
return 0;
}
#包括
#包括
#包括
使用名称空间std;
int main(){
int lastAnswer=0;
int n,q;
cin>>n>>q;
向量seqArr[n];

对于(int i=0;i,如果需要长度可变的数组,则应使用向量:

vector<vector<int>> seqArr(n);
for (int i = 0; i < n; ++i)
{
    seqArr[i].push_back(0);
}
矢量序列(n);
对于(int i=0;i
或者干脆

vector<vector<int>> seqArr(n, vector<int>(1, 0));   // n vectors with one element 0
vector-seqArr(n,vector(1,0));//n个带有一个元素0的向量

是C++中不可用的C99特征。在C++中,数组的大小必须在编译时知道。

< P>如果要一个可变长度的数组,则应该使用向量:

vector<vector<int>> seqArr(n);
for (int i = 0; i < n; ++i)
{
    seqArr[i].push_back(0);
}
矢量序列(n);
对于(int i=0;i
或者干脆

vector<vector<int>> seqArr(n, vector<int>(1, 0));   // n vectors with one element 0
vector-seqArr(n,vector(1,0));//n个带有一个元素0的向量

是C++中不可用的C99特征。在C++中,数组的大小必须在编译时知道。

< P>作为可变长度数组不是C++的一部分,我建议使用向量向量,也解决了初始化问题:

 vector<vector<int>> sequArray(n,{0}); //vector of n vectors, each containing a single 0
vector sequalray(n,{0});//n个向量的向量,每个向量包含一个0

作为可变长度数组不是C++的一部分,我建议使用向量矢量,它也解决了初始化问题:

 vector<vector<int>> sequArray(n,{0}); //vector of n vectors, each containing a single 0
vector sequalray(n,{0});//n个向量的向量,每个向量包含一个0

它不起作用。需要解释吗?事实上,因为向量的大小是0。您可以使用seqArr[i]。将_向后推(0);而不是。
向量seqArr[n];
需要可变长度数组(VLA)哪一个是C++中不可用的C11功能?为什么不试试
vector
?它不起作用。需要解释吗?事实上,因为向量的大小是0。你可以使用seqArr[i]。推回(0);相反。
vector-seqArr[n];
需要可变长度数组(VLA),这是C++中不可用的C11功能。为什么不试试
vector