一 代码
#include <iostream>
#include <string>
#include <set>
#include <string.h>
#include <iterator>
using namespace std;
struct strLess{
bool operator() (const char *s1, const char *s2) const {
return strcmp(s1, s2) < 0;
}
};
void printSet(set<int> s){
copy(s.begin(), s.end(), ostream_iterator<int>(cout, ", ") );
/*
set<int>::iterator iter;
for (iter = s.begin(); iter != s.end(); iter++)
cout<<"set["<<iter-s.begin()<<"]="<<*iter<<", "; //Error
cout<<*iter<<", ";
*/
cout<<endl;
}
int main(){
/*创建set对象,共5种方式,提示如果比较函数对象及内存分配器未出现,即表示采用的是系统默认方式*/
/*创建空的set对象,元素类型为int,*/
set<int> s1;
/*创建空的set对象,元素类型char*,比较函数对象(即排序准则)为自定义strLess*/
set<const char*