首页 > 解决方案 > 如何从矢量中删除所有项目?C++

问题描述

我只是想制作我所有的元素0而不用手动完成

for (i = 1; i <= n; i++) 
    v[i] = 0;

我在网上发现我可以使用这个命令:v.clear();但它不起作用:

错误:在“v”中请求成员“clear”,它是非类类型“int [101]”

这是我的代码:

#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;

int n,i,v[101];

int main() {
    cin>>n;
    for(i=1;i<=n;i++)
        cin>>v[i];

    v.clear();
    for(i=1;i<=n;i++)
        cout<<v[i]<<" ";

    return 0;
}

标签: c++arraysloopsfor-loopmemset

解决方案


我们有std::fill, 也可以与 C 风格的数组一起使用:

std::fill(std::begin(v), std::end(v), 0);

推荐阅读