如何在c++中删除set或如何将set大小调整为0

how to delete set in c++ or how to resize the set to 0

本文关键字:set 调整 c++ 删除      更新时间:2023-10-16

我想将集合的大小调整为0,但它在第16行给出错误。如何将集合大小调整为空集合?在第16行,resize算法给出了一个错误。

#include <iostream>
#include <set>
#include <algorithm>
using namespace std;
int main()
{
    set<int> p;
    set<int> a[2];
    p.insert(0);
    p.insert(1);
    a[0] = p;
    a[0].insert(3);
    set<int>::iterator it;
    for (it = a[0].begin(); it != a[0].end(); ++it)
        std::cout << ' ' << *it;
    a[0].resize(0);
    cout << a[0].size();
    return 0;
}

只使用std::setclear方法

std::set没有resize成员。也许你在想std::vector?

但是对于任何STL容器,清除它的惯用方法是使用clear()。

a[0].clear();

std::set没有大小调整功能。使用std::set容器

的clear()方法
a[0].clear();

可以删除a(整数集),方法如下:

std::set<int>().swap(a);