C++ map键能否重复

C++ map键能否重复,第1张

map容器是允许插入相同键值得对象的。但是,如果该键在map中已经存在,再插入相同键值时,会保持该map不变的。(使用insert *** 作)

find *** 作返回指向元素的迭代器,如果不存在,则返回 end迭代器。

如int count = 0

map<string, int>::iterator it = word.find("hello")

if(it != word.end()) count = it->second

#include<iostream>

#include<string>

#include<map>

#include<vector>

using namespace std

void main()

{

    int c=0

    map<string,string > m

    m.insert(map<string,string >::value_type("xue","jianhui"))

    m.insert(make_pair(string("xue"),string("1"))) //要转化成string

    c=m.count("xue")

    cout<<c<<endl

}

这就是自己实现一个ID自增的东西。

比如的你有个公用类专门用来生成后面的数字,所有需要用到的方法都调用这个类的一个方法我们就叫它nextId吧,只要这个方法是线程安全的就可以了。

IdUtils.nextId()

int nextId() {

lock(this){

return this.id++

}

}

应用启动的时候从数据库查询一下id的最大值并设置给工具类的id,让它接着增长就行了。

具体实现看你用什么语言。

请仔细阅读别人回答的是什么意思。想想oracle的sequence的实现,是不是类似?


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

原文地址: http://outofmemory.cn/sjk/6617264.html

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

发表评论

登录后才能评论

评论列表(0条)

保存