c++ 向map添加元素 pair返回问题

c++ 向map添加元素 pair返回问题,第1张

insert返回一个pair

即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的类型。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11645426.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存