c++ - 如何从 vector 中删除所有项目? C++

标签 c++ arrays loops for-loop memset

我只是想让我所有的元素都0,而不用手动

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

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

error: request for member 'clear' in 'v', which is of non-class type '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;
}

最佳答案

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

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

关于c++ - 如何从 vector 中删除所有项目? C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59016270/

相关文章:

ruby-on-rails - 在 Ruby 中逐一堆叠

loops - CFSCRIPT - For 循环 - 如何增加 50 或 100?

c++ - MFC Ribbon - 从命令中获取基本元素

php - 如何将数据以数组multiple的形式存储到mysql

c++ - 6 智能感知 : no suitable conversion function from "std::string" to "int" exists

javascript - 从 Tensorflow.js 文本毒性检测模型返回 'predictions'

c++ - 找到具有最少重复次数的最小元素

php - 休息;与继续;与返回;

c++ - 如何声明接受字符串并返回 void 的闭包类型?

c++ - 影响原始输入消息的 Windows 键重复设置