入门计划->学用stl std::map (转)

本文介绍了一段使用 C++ STL 中 map 容器的示例代码,演示了如何通过字符串关键字匹配整数 ID,包括查找、插入和删除操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

入门计划->学用stl std::map (转)[@more@]

C++:一种比较流行的强大功能面向对象编程语言,应用和前景都很广阔。

stl:C++标准模板库,功能极其强大,将其完全掌握后C++编程会相当容易。

map:一种关系式容器,可以根据关键字匹配多种数据。

string:"Mailto:~!@#$%">~!@#$%^&*()_+",这样的东东就是。

以下程序代码将简单演示如何通过名称(string)关键字匹配id(int),由于程式(程序,受网上资料的影响,偶也开始想把程序说成程式,废话)太简单,没有写注释,对于想入门的朋友将代码看明白可以自己举一反三就算学会一招了:)高手请跳过。

程序在以下环境顺利测试通过:

Win2k+VC6

redhat Linux 7.2 + gcc(g++)2.96

--源程序--

// strmap1.cpp // #pragma warning(disable:4786) //... #include #include //... #include using namespace std; class strmap1 { typedef std::map<:string int> type_map; typedef type_map::iterator type_iter; type_map mm; type_iter it; int id; public: strmap1() : it(NULL), id(0) { //init id = 0; mm["i"] = ++id; mm["you"] = ++id; mm["he"] = ++id; } int find(const char* s) { cout << "find " << s << endl; int ret = 0; it = mm.find(s); if (mm.end() != it) { ret = it->second; cout << s << "'s id is " << ret << endl; } else { cout << "can't find " << s << "'s id" << endl; } return ret; } int insert(const char* s) { cout << "insert " << s << endl; int ret = ++id; mm.insert(type_map::value_type(s, ret)); //mm[s] = ret;//ok return ret; } void remove(const char* s) { cout << "remove " << s << endl; mm.erase(s); } }; int main(int argc, char* argv[]) { cout << "(strmap1)string map 1(simple use std::map)" << endl; strmap1 o; cout << endl; o.find("i"); cout << endl; o.find("she"); cout << endl; o.find("you"); o.find("he"); cout << endl; o.insert("she"); o.remove("you"); o.remove("he"); cout << endl; o.find("you"); o.find("he"); o.find("she"); cout << endl; cout << "haha~~~now only i and she" << endl; return 0; } --输出结果--

 
 

(strmap1)string map 1(simple use std::map)

 
 

find i
i's id is 1

 
 

find she
can't find she's id

 
 

find you
you's id is 2
find he
he's id is 3

 
 

insert she
remove you
remove he

 
 

find you
can't find you's id
find he
can't find he's id
find she
she's id is 4

 
 

haha~~~now only i and she


 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10752043/viewspace-961754/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10752043/viewspace-961754/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值