#include<iostream>
#include<cstdio>
#include<string>
#include<cstdlib>
#include<cctype>
#include <string.h>
#include<set>
using namespace std;
int ciStringCompare(const string &s1,const string &s2)
{
return stricmp(s1.c_str(),s2.c_str());
}
struct CIStringCompare :
public
binary_function<string, string, bool>{ //该基类的信息参加第40条
bool operator()(const string& lhs, const string& rhs) const{
return ciStringCompare(lhs, rhs);
}
};
int main()
{
set<string,CIStringCompare> ciss;
ciss.insert("AAA");
ciss.insert("aaa");
if(ciss.find("AAA")!=ciss.end())
printf("YES\n");
// 下面这个也将输出yes因为set现在的默认比较机制就是不区分大小写,
// 所以调用其自身成员函数就是不区分大小写比较,但要是调用find算法,则不会输出。
// if(ciss.find("aaa")!=ciss.end())
// printf("YES\n");
cout<<ciss.size()<<endl;
return 0;
}
set<string>不区分大小写
最新推荐文章于 2024-05-09 10:55:19 发布