set容器的insert返回值总结

#include <iostream>
#include <set>
#include <string>
using namespace std;

int main() {

    set<string> setTemp;

    string name1 = "hener";
	string name2 = "henyi";

	if(setTemp.insert(name1).second)
	{
		 cout << "1111" << endl;
	}
	if(setTemp.insert(name1).second)
	{
		 cout << "2222" << endl;
	}
	if(setTemp.insert(name2).second)
	{
		 cout << "3333" << endl;
	}

	getchar();
	return 0;
}

  //摘抄自:http://classfoo.com/ccby/article/Z8zWky

  set的单元素版返回一个二元组(Pair)。成员 pair::first 被设置为指向新插入元素的迭代器或指向等值的已经存在的元素的迭代器。成员 pair::second 是一个 bool 值,如果新的元素被插入,返回 true,如果等值元素已经存在(即无新元素插入),则返回 false。  

  因为在 set 中元素的主键是唯一的,当前插入操作将会检测被插入元素是否等于容器中某个已存在元素,如果是,新的元素将不会被插入,且返回指向这个等值的已经存在的元素(如果当前函数有返回值)。

  //

  所以set.insert(xx).second是用来确认set元素是否成功插入的标识,也可以用来确认该元素之前没有被插入也没有被处理过。

  

  

时间: 2024-12-05 23:31:33

set容器的insert返回值总结的相关文章

spring+mybatis下delete和insert返回值-2147482646

<bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate"> <constructor-arg index="0" ref="sqlSessionFactory" /> <!-- 配置批量操作 --> <!-- <constructor-arg index="1" va

C++ map插入(insert)数据返回值

例子: typedef boost::unordered_map<int, int> UserOnlineMap; UserOnlineMap userOnlineMap_; std::pair<UserOnlineMap::iterator, bool> res = userOnlineMap_insert(std::make_pair(xxx, xxx)); if (!res.second) { std::cout << "insert failed&qu

在ibatis和mysql环境下使用insert如何获取返回值

配置xml文件中的sql语句,insert语句默认是有返回值的,用于标记此次插入是否成功.而如果需要其他返回值,则需要进行进一步的设置. 以如下代码为例: 1 <insert id="insertAndGetId" parameterClass="Vnet_stack" > 2 insert into 3 vnet_stack(stack_name) 4 values(#stack_name#) 5 <selectKey resultClass=&

MyBatis insert/delete/update 的返回值

insert,返回值是:新插入行的主键(primary key):需要包含<selectKey>语句,才会返回主键,否则返回值为null. update/delete,返回值是:更新或删除的行数:无需指明resultClass:但如果有约束异常而删除失败,只能去捕捉异常. 参考资料: 1.Mybatis/Ibatis,数据库操作的返回值 https://blog.csdn.net/gaojinshan/article/details/24308313 原文地址:https://blog.csd

Java基础学习笔记十二 类、抽象类、接口作为方法参数和返回值以及常用API

不同修饰符使用细节 常用来修饰类.方法.变量的修饰符 public 权限修饰符,公共访问, 类,方法,成员变量 protected 权限修饰符,受保护访问, 方法,成员变量 默认什么也不写 也是一种权限修饰符,默认访问, 类,方法,成员变量 private 权限修饰符,私有访问, 方法,成员变量 static 静态修饰符 方法,成员变量 final 最终修饰符 类,方法,成员变量,局部变量 abstract 抽象修饰符 类 ,方法 我们编写程序时,权限修饰符一般放于所有修饰符之前,不同的权限修饰

python--函数的返回值、函数参数的使用、名称空间与作用域、函数嵌套、函数对象

今天学习内容有函数的返回值.函数参数的使用.名称空间与作用域.函数嵌套. 下来我们一一查看. 函数的返回值 看几个栗子: def func(x): return x**2 y=func(10) print(y) def foo(): return None res=foo() print(res) def foo(): return{'a':1} res=foo() print(res['a']) def foo(): return {'a':1},1,'a',[1,2] res=foo() p

第二天,函数的返回值return

首先是前一天问题的答案 第一题: <!DOCTYPE html> <html lang="en"> <heda> <meta charset="UTF-8">  <title></title> </head> <body> </body> </html> 第二题: 结构-HTML 表现-CSS 行为-JavaScript 第三题 <!DOCT

Mybatis/Ibatis,数据库操作的返回值

该问题,我百度了下,根本没发现什么有价值的文章:还是看源代码(详见最后附录)中的注释,最有效了!insert,返回值是:新插入行的主键(primary key):需要包含<selectKey>语句,才会返回主键,否则返回值为null.update/delete,返回值是:更新或删除的行数:无需指明resultClass:但如果有约束异常而删除失败,只能去捕捉异常.queryForObject,返回的是:一个实例对象或null:需要包含<select>语句,并且指明resultMap

无废话Android之activity的生命周期、activity的启动模式、activity横竖屏切换的生命周期、开启新的activity获取他的返回值、利用广播实现ip拨号、短信接收广播、短信监听器(6)

1.activity的生命周期 这七个方法定义了Activity的完整生命周期.实现这些方法可以帮助我们监视其中的三个嵌套生命周期循环: (1)Activity的完整生命周期 自第一次调用onCreate()开始,直到调用onDestory()为止.Activity在onCreate()中设置所有“全局”状态以完成初始化. 而在onDestory()中释放所有系统资源.例如,如果Activity有一个线程在后台运行从网络下载数据,它会在onCreate()创建线程, 而在onDestory()销