C++ STL 列表大小
Posted
技术标签:
【中文标题】C++ STL 列表大小【英文标题】:C++ STL list size 【发布时间】:2014-04-05 11:46:33 【问题描述】:我有一些问题/我不明白某些东西,这导致了这个问题:)
这里有一些代码:
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;
;
问题是,如果我让它这样,我会遇到一些内存问题,我的意思是主函数中的指令,如果我设置列表大小,则没有。但我希望它自动设置,我应该使用一些插入功能吗?如何纠正这个? :) 谢谢!
【问题讨论】:
究竟什么是“一些内存问题”?您的代码使用非英语标识符这一事实也不完全有助于理解问题:( 【参考方案1】:我想你想在这里使用inserter:
remove_copy_if(vec.begin(),vec.end(),
std::inserter(lista,lista.end()),
Warunek_na_Wysokosc(sredniasu));
【讨论】:
以上是关于C++ STL 列表大小的主要内容,如果未能解决你的问题,请参考以下文章
C++ 提高教程 STL vector容量-vector容量和大小