即ret是一个pair,
他的first是迭代器,他的位置是给定关键字元素的位置,
second是bool值 ret.second你加的是bool,应该不行的。
你的测试时怎么成功的,应该不行啊。
输入1 2 1 2 1
现在的map是 (1, 3)(2, 2)
输入2
ret返回pair(2的迭代器,bool)
ret.first(2的迭代器)->second(value++)
(1,3)(2,3)
CREATE PROCEDURE [dbo].[AddUnionBattle]@time DATETIME,
@state INT,
@proc INT,
@bt INT,
@map INT,
@req_uid INT,
@req_name CHAR(16),
@res_uid INT,
@res_name CHAR(16)
AS
SET NOCOUNT ON
DECLARE @ubid INT
SELECT @ubid=MAX(ub_propid) FROM UnionBattle
IF(@ubid IS NULL) SET @ubid=2000
SET @ubid = @ubid+1
INSERT UnionBattle( ub_propid, time_battle, ub_state, ub_proc, battle_type, battle_map, req_uid, req_uname, res_uid, res_uname)
SELECT @ubid, DATEADD(DAY,-5,@time), @state, @proc, @bt ,@map, @req_uid, @req_name, @res_uid, @res_name
SELECT @ubid
GO
map相当于扩展的更强大的数组,数组下标只能是一个数,但map下标可以是任意值。所以map建立了两种任意类型间的对应关系,声明时的尖括号中的两个就是下标类型和对应值的类型。
map是STL容器,内部实现是红黑树,插入较慢,但是查找很快。
iterator是指STL的迭代器,可以简单的看做是元素指针。
map<type1,type2>::iterator it = TempMap.begin()。
表示指向TempMap第一个元素,用 it->first 和 it->second,就能直接调用元素了。
定义宏
NULL和offsetof,以及其他标准类型size_t和ptrdiff_t。与对应的标准C头文件的区别是,NULL是C++空指针常量的补充定义(c++11中已有关键字nullptr),宏offsetof接受结构或者联合类型参数,只要他们没有成员指针类型的非静态成员即可。(c++11:)nullptr_t是nullptr的类型。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)