#include <set>
#include <iostream>
#include <string> int main(void) { std::set<std::string> sites; std::string site0 = "sina.com.cn";
std::string site1 = "sina.com.cn";
std::string site2 = "163.com";
std::string site3 = "qq.com";
sites.insert(site0);
sites.insert(site1);
sites.insert(site2);
sites.insert(site3); std::set<std::string>::iterator it;
for (it=sites.begin(); it != sites.end(); it++) {
std::cout << *it << std::endl;
} it = sites.find("qq.com"); //集合 用find 方法,确实是挺原始的。 怎么也提供个contain方法 或者 in 啊。it != sites.end() 还得自己判断,能直接返回个bool值么
std::cout << *it << std::endl; it = sites.find("");
if (it != sites.end()) {
std::cout << *it << std::endl;
} return ;
}
相关文章
- JAVA中的数据结构——集合类(线性表:Vector、Stack、LinkedList、set接口;键值对:Hashtable、Map接口
) - 集合中Set接口与Collection接口,常用子类TreeSet,HashSet.
- Redis的数据类型(String,hash,list,set,zet)及 常用命令
- (六)redis常用数据结构之sorted_set
- 嵌入式学习37-TCP并发模型-有限 2.IO模型: 1.阻塞IO: 没有数据到来时,可以让任务挂起 节省CPU资源开销,提高系统效率 2.非阻塞IO: 程序未接收到数据时一直执行 效率很低 3.异步IO 只能绑定一个文件描述符用来 读取数据 4.多路复用IO select 1.select监听的集合中的文件描述符有 上限限制 2.select有 内核层 向 用户层数据空间 拷贝 的过程,占用系统资源开销 3.select必须 轮询检测 产生 事件 的文件描述符 4.select 只能工作 在 水平触发 模式(低速模式) 无法工作 在 边沿触发 模式(高速模式) poll (监听的集合中的文件描述符有 没有上限限制) 1.poll有 内核层 向 用户层 数据空间 拷贝 的过程,占用系统资源开销 2.poll必须 轮询检测 产生 事件 的文件描述符 3.poll 只能工作在水平触发模式(低速模式) 与select相同 无法工作在边沿触发(高速模式) 3.函数接口: 1.select int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout); 功能: select 监听 文件描述符集合 中 是否 有文件描述编程 ready状态 select 监听 文件描述符集合 中 ,若有状态 , 将没有ready状态的T除 若无状态,将阻塞继续等待 参数: nfds: 最大文件描述符的值 +1 readfds: 读 文件描述符集合 writefds: 写 文件描述符集合 exceptfds: 其余 文件描述符集合 timeout: 等待的时长 NULL 一直等待(超时处理) 返回值: 成功 返回 文件描述符集合中 的 文件描述符个数 失败 返回 -1 void FD_CLR (int fd, fd_set *set); 功能: 将文件描述符 fd 从集合中清除
- 加密解密及接口加密 常用数据加密和解密方法 https://www.cnblogs.com/sunxuchu/p/5484018.html 接口加密测试 https://www.cnblogs.com/houzhizhe/p/7461163.html
- C++常用数据结构-CString
- JDBC数据库编程常用接口(转)
- Java中集合框架,Collection接口、Set接口、List接口、Map接口,已经常用的它们的实现类,简单的JDK源码分析底层实现
- java中集合类中Collection接口中的Set接口的常用方法熟悉