c++中STL中set的一些疑问,请高手指点

来源:百度知道 编辑:UC知道 时间:2024/06/17 04:19:21
我从书上练习一段代码,大概是这个样子
#include <iostream>
#include <set>
#include <algorithm>

using namespace std;

int main()
{
* typedef set<double,less<double>,allocator<less>> double_set;
const int SIZE = 5;
double a[SIZE] = {3.7,2.5,8.4,4.5,5.6};
set<double> double_set(a,a+SIZE);
ostream_iterator<double> output(cout," ");
cout<<"double Set contains: ";
copy(double_set.begin(),double_set.end(),output);
* pair<double_set::const_iterator,bool> p;
p = double_set.insert(13.5);
cout<<'\n'<<*(p.first)
<<(p.second?"was":"was not")<<" inserted";
cout<<"\ndouble_set contains: ";
copy(double_set.begin(),double_set.end(),output);
p = double_set.insert(89.2);
cout<<'\n'<<*(p.first)
<&l

less<double>需要#include <functional>
另外
* typedef set<double,less<double>,allocator<less>> double_set;
set<double> double_set(a,a+SIZE);
定义的名字相同了

less<double>,allocator<less>这两个去掉也是可以的