C++ STL 列表大小

标签 c++ list stl

我遇到了一些问题/我不明白某些事情导致了这个问题:)

这是一些代码:

list<Walec>lista;

remove_copy_if(vec.begin(),vec.end(), lista.begin(),Warunek_na_Wysokosc(sredniasu));
 copy(lista.begin(),lista.end(),ostream_iterator<Walec>(cout, " \n"));

这是 Warunek_Na_Wysokosc 的定义:

struct Warunek_na_Wysokosc
{
    double wys;

   Warunek_na_Wysokosc(const double& h_): wys(h_){ }

    bool operator()(const Walec& w)
    {
        return w.h >= wys;
    }

};

问题是,如果我让它这样,我会遇到一些内存问题,我的意思是主要功能中的指令,如果我设置列表大小则没有。但我希望它自动设置,我应该使用一些插入功能吗?如何纠正这个? :) 谢谢!

最佳答案

我想你想使用 inserter这里:

remove_copy_if(vec.begin(),vec.end(),
               std::inserter(lista,lista.end()),
               Warunek_na_Wysokosc(sredniasu));

关于C++ STL 列表大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22880464/

相关文章:

c++ - 如何使用来自另一个 XMM 寄存器条目的 4 个相同 float 填充 x86 XMM 寄存器?

c++ - 反序列化没有默认构造函数的类型的STL容器

c++ - 从任何地方访问头部 STL 列表

python - 有没有办法创建与用户输入一样多的列表?

c++ - STL的缺陷

c++ - 仅匹配集合中的某些字段

c++ - 热气球不可见

c++ - 在 C 二维数组中找到一个值的多个索引

python - python3 : list vs List中的静态类型

python - 我正在尝试创建一个返回特定长度列表并重复其中一个值的函数