二元谓词中添加const的问题(未解决)

#include  <iostream>
using namespace std;
#include"set"
#include"algorithm"
struct compareNoCase
{

	//bool operator()(const string &str1, const string &str2)  这种居然是错误的。不知道为什么
	bool operator()(const string &str1, const string &str2) const
	{
		string str11;
		str11.resize( str1.size ());
		transform(str1.begin(), str1.end(), str11.begin(), tolower);
		string str22;
		str22.resize ( str2.size());
		transform(str2.begin(), str2.end(), str22.begin(), tolower);
		return (str11 > str22);
	}
};
void main01()
{
	set<string > s1;
	s1.insert("aaa");
	s1.insert("wew");
	s1.insert("qwe");

	set<string>::iterator it = s1.find("aaa");
	if (it == s1.end())
	{
		cout << "没有找到" << endl;
	}
	else
		cout << "找到" << endl;
	set<string, compareNoCase> s2;
	s2.insert("aAa");
	s2.insert("wSw");
	s2.insert("qAe");

	set<string, compareNoCase>::iterator it2 = s2.find("aAa");
	if (it2 == s2.end())
	{
		cout << "没有找到" << endl;
	}
	else
		cout << "找到" << endl;

}
int main()
{
	main01();
	system("pause");

}

  

时间: 2024-10-10 14:43:30

二元谓词中添加const的问题(未解决)的相关文章

累积面试中遇到的几个未解决的问题

本来可以问面试官的,面的太差,不想开口啦,哈哈哈哈 1. api接口中的幂等性有什么解决方案? 2. api接口中返回信息是很复杂的json格式,有些顺序可能有误,要如何检查验证,最好能自动化? 3. 性能测试中,如何查看服务器的资源情况?如果是4核或者8核,如何具体看每核的资源使用情况? 原文地址:https://www.cnblogs.com/qianjinyan/p/9195481.html

STL算法设计理念 - 二元函数,二元谓词以及在set中的应用

demo 二元函数对象 #include <iostream> #include <cstdio> #include <vector> #include <algorithm> using namespace std; template <typename T> class SumVector { public: T operator()(T t1, T t2) // 二元函数对象 { return t1 + t2; } protected: p

JabRef中添加带中文的field时出现问题之解决

JabRef中添加中文文献出现乱码 解决方法 问题描述 JaBRef是一款开源的文献管理软件,主要用来管理bibtex格式的参考文献,可以与LATEX配合使用,方便论文参考文献的使用.文献管理软件还有很多,例如EndNote,Murply,RefWorks,以及国内的NoteExpress等,还有一些在线的文献管理软件,但唯独JaBRef是一款专门管理bibTex格式的软件.在一些国外讲解LATEX的书籍中,也常常使用JabRef进行参考文献使用方法的讲解. 我本来使用手工的方式将参考文件记录在

QTableWidget中添加按钮

添加按钮 void QTableWidget::setCellWidget ( int row, int column, QWidget * widget ) widget可以是自己定义的按钮 class MyPushButton : public QPushButton { Q_OBJECT public: explicit MyPushButton(int i, int j, int flag); ~MyPushButton(); void mySetText();//i对应端口信息 } m

电商网站中添加商品到购物车功能模块2017.12.8

前言: 电商网站中添加商品到购物车功能模块实现: 根据前一篇博客的介绍,我们看到淘宝网站为了保证购物车数据的同步,直接是强制用户必须登录才可以将商品加入购物车.而京东网站是用户在未登录的状态下也可以将商品加入到购物车,此时这个是保存在了cookie中,然后用户登录后,根据商品的id判断商品是否存在,将两个购物车的商品合并,形成最终的购物车商品. 本篇文章分两个模块,分别看下这两个功能是如何实现的: 1.必须在用户登录的前提下,才可以将商品加入到购物车列表 我们今天先看下淘宝网站的状态下的添加商品

在VC工程中添加多语言支持[转]

随着贸易国际化,在软件开发过程中,常会碰到需在现有中文版软件加入多语言支持的情况.由于不同语言版本间的差别通常仅是软件操作界面的不同,为实现多语言支持,使用纯资源DLL是一个不错的解决之道.所谓纯资源DLL是指只包含资源的DLL,譬如:快捷键.对话框.字符串.菜单.工具条.位图.图标.版本信息等等. 具体做法是:利用VC可视化编辑环境为每种语言制作一套资源ID一一对应的资源集并编译生成DLL文件.应用程序初始化时按预设的语言设置选择合适的资源DLL调入,使用资源时依据资源ID进行访问,这样即可实

VS中添加预处理宏的方法

VS中添加预处理宏的方法 除了在.c及.h中添加宏定义之外,还可以采用如下方法添加宏定义: 1.若只需要定义一个宏(如#define DEBUG),可以右键点击工程-->属性-->c/c++-->预处理器-->预处理器定义,点击下拉框中的编辑,输入想要定义的宏: 2.如果还需要定义宏的内容(如#define inline __inline),可以右键点击工程-->属性-->c/c++-->命令行,在其它选项中输入如下内容: /D"inline"

objective c, category 和 protocol 中添加property

property的本质是实例变量 + getter 和 setter 方法 category和protocol可以添加方法 category 和 protocol中可以添加@property 关键字 所以,在protocol中添加property时,其实就是添加了 getter 和 setter 方法,在实现这个protocol的类中,我们要自己手动添加实例变量 例: @synthesize name = _name; //此行代码即添加了实例变量及实现了protocol中属性的getter.s

在现有WinForms应用中添加C1Themes主题控件

在本博客中,展示了如何在现有的WinForms应用中添加C1Themes控件支持. 本文使用名为C1dView Samples的应用程序,它包含C1Reports.它是基于C1Ribbon界面设计的C1Report/C1PrintDocument浏览应用程序.该应用最初没有包含主题的支持. C1DView示例下载:C1dView.zip (94.96 kb) (下载次数: 7) 如下描述的简单的步骤,为最终用户提供在程序中选择使用包含于C1Themes控件产品中的若干主题的支持.(请注意:在进行