C++ map 映照容器(ctrl+C & ctrl+V)

原文地址:http://www.cppblog.com/vontroy/archive/2010/05/16/115501.html

map映照容器的元素数据是一个键值和一个映照数据组成的,键值与映照数据之间具有一一映照的关系。

map映照容器的数据结构是采用红黑树来实现的,插入键值的元素不允许重复,比较函数只对元素的键值进行比较,元素的各项数据可通过键值检索出来。

使用map容器需要头文件包含语句“#include

”, map文件也包含了对multimap多重映照容器的定义。



1、map创建、元素插入和遍历访问

创建map对象,键值与映照数据的类型由自己定义。在没有指定比较函数时,元素的插入位置是按键值由小到大插入到黑白树中去的,下面这个程序详细说明了如何操作map容器。

1C++ map 映照容器(ctrl+C & ctrl+V)#include


2C++ map 映照容器(ctrl+C & ctrl+V)#include

3C++ map 映照容器(ctrl+C & ctrl+V)#include

4C++ map 映照容器(ctrl+C & ctrl+V)

5C++ map 映照容器(ctrl+C & ctrl+V)using std :: cout ;

6C++ map 映照容器(ctrl+C & ctrl+V)using std :: endl ;

7C++ map 映照容器(ctrl+C & ctrl+V)using std :: string ;

8C++ map 映照容器(ctrl+C & ctrl+V)using std :: map ;

9C++ map 映照容器(ctrl+C & ctrl+V)

10C++ map 映照容器(ctrl+C & ctrl+V)int main()

11C++ map 映照容器(ctrl+C & ctrl+V){

12C++ map 映照容器(ctrl+C & ctrl+V) //定义map对象,当前没有任何元素

13C++ map 映照容器(ctrl+C & ctrl+V) map m ;

14C++ map 映照容器(ctrl+C & ctrl+V)

15C++ map 映照容器(ctrl+C & ctrl+V) //插入元素,按键值的由小到大放入黑白树中

16C++ map 映照容器(ctrl+C & ctrl+V) m["Jack"] = 98.5 ;

17C++ map 映照容器(ctrl+C & ctrl+V) m["Bomi"] = 96.0 ;

18C++ map 映照容器(ctrl+C & ctrl+V) m["Kate"] = 97.5 ;

19C++ map 映照容器(ctrl+C & ctrl+V)

20C++ map 映照容器(ctrl+C & ctrl+V) //先前遍历元素

21C++ map 映照容器(ctrl+C & ctrl+V) map :: iterator it ;

22C++ map 映照容器(ctrl+C & ctrl+V) for(it = m.begin() ; it != m.end() ; it ++)

23C++ map 映照容器(ctrl+C & ctrl+V) {

24C++ map 映照容器(ctrl+C & ctrl+V) cout << (it).first << " : " << (it).second << endl ;

25C++ map 映照容器(ctrl+C & ctrl+V) }


26C++ map 映照容器(ctrl+C & ctrl+V)

27C++ map 映照容器(ctrl+C & ctrl+V) return 0 ;

28C++ map 映照容器(ctrl+C & ctrl+V)}


29C++ map 映照容器(ctrl+C & ctrl+V)

运行结果:

Bomi :96

Jack :98.5

Kate :97.5

程序编译试,会产生代号为“warning C4786” 的警告, “4786” 是标记符超长警告的代号。可以在程序的头文件包含代码的前面使用"#pragma waring(disable:4786)" 宏语句,强制编译器忽略该警告。4786号警告对程序的正确性和运行并无影响。

2、删除元素

map映照容器的 erase() 删除元素函数,可以删除某个迭代器位置上的元素、等于某个键值的元素、一个迭代器区间上的所有元素,当然,也可使用clear()方法清空map映照容器。

下面这个程序演示了删除map容器中键值为28的元素:

1C++ map 映照容器(ctrl+C & ctrl+V)#include


2C++ map 映照容器(ctrl+C & ctrl+V)#include

3C++ map 映照容器(ctrl+C & ctrl+V)#include

4C++ map 映照容器(ctrl+C & ctrl+V)

5C++ map 映照容器(ctrl+C & ctrl+V)using std :: cout ;

6C++ map 映照容器(ctrl+C & ctrl+V)using std :: endl ;

7C++ map 映照容器(ctrl+C & ctrl+V)using std :: string ;

8C++ map 映照容器(ctrl+C & ctrl+V)using std :: map ;

9C++ map 映照容器(ctrl+C & ctrl+V)

10C++ map 映照容器(ctrl+C & ctrl+V)int main()

11C++ map 映照容器(ctrl+C & ctrl+V){

12C++ map 映照容器(ctrl+C & ctrl+V) //定义map对象,当前没有任何元素

13C++ map 映照容器(ctrl+C & ctrl+V) map m ;

14C++ map 映照容器(ctrl+C & ctrl+V) //插入元素,按键值的由小到大放入黑白树中

15C++ map 映照容器(ctrl+C & ctrl+V) m[25] = 'm' ;

16C++ map 映照容器(ctrl+C & ctrl+V) m[28] = 'k' ;

17C++ map 映照容器(ctrl+C & ctrl+V) m[10] = 'x' ;

18C++ map 映照容器(ctrl+C & ctrl+V) m[30] = 'a' ;

19C++ map 映照容器(ctrl+C & ctrl+V) //删除键值为28的元素

20C++ map 映照容器(ctrl+C & ctrl+V) m.erase(28) ;

21C++ map 映照容器(ctrl+C & ctrl+V) //向前遍历元素

22C++ map 映照容器(ctrl+C & ctrl+V) map :: iterator it ;

23C++ map 映照容器(ctrl+C & ctrl+V) for(it = m.begin() ; it != m.end() ; it ++)

24C++ map 映照容器(ctrl+C & ctrl+V){

25C++ map 映照容器(ctrl+C & ctrl+V) //输出键值与映照数据

26C++ map 映照容器(ctrl+C & ctrl+V) cout << (it).first << " : " << (it).second << endl ;

27C++ map 映照容器(ctrl+C & ctrl+V) }


28C++ map 映照容器(ctrl+C & ctrl+V) return 0 ;

29C++ map 映照容器(ctrl+C & ctrl+V)}


30C++ map 映照容器(ctrl+C & ctrl+V)

运行结果:

10 : x

25 : m

30 : a

3、元素反向遍历

可以用反向迭代器reverse_iterator反向遍历map映照容器中的数据,它需要rbegin()方法和rend()方法指出反向遍历的起始位置和终止位置。

1C++ map 映照容器(ctrl+C & ctrl+V)#include


2C++ map 映照容器(ctrl+C & ctrl+V)#include

3C++ map 映照容器(ctrl+C & ctrl+V)#include

4C++ map 映照容器(ctrl+C & ctrl+V)

5C++ map 映照容器(ctrl+C & ctrl+V)using std :: cout ;

6C++ map 映照容器(ctrl+C & ctrl+V)using std :: endl ;

7C++ map 映照容器(ctrl+C & ctrl+V)using std :: string ;

8C++ map 映照容器(ctrl+C & ctrl+V)using std :: map ;

9C++ map 映照容器(ctrl+C & ctrl+V)

10C++ map 映照容器(ctrl+C & ctrl+V)int main()

11C++ map 映照容器(ctrl+C & ctrl+V){

12C++ map 映照容器(ctrl+C & ctrl+V) //定义map对象,当前没有任何元素

13C++ map 映照容器(ctrl+C & ctrl+V) map m ;

14C++ map 映照容器(ctrl+C & ctrl+V) //插入元素,按键值的由小到大放入黑白树中

15C++ map 映照容器(ctrl+C & ctrl+V) m[25] = 'm' ;

16C++ map 映照容器(ctrl+C & ctrl+V) m[28] = 'k' ;

17C++ map 映照容器(ctrl+C & ctrl+V) m[10] = 'x' ;

18C++ map 映照容器(ctrl+C & ctrl+V) m[30] = 'a' ;

19C++ map 映照容器(ctrl+C & ctrl+V) //反向遍历元素

20C++ map 映照容器(ctrl+C & ctrl+V) map :: reverse_iterator rit ;

21C++ map 映照容器(ctrl+C & ctrl+V) for( rit = m.rbegin() ; rit != m.rend() ; rit ++)

22C++ map 映照容器(ctrl+C & ctrl+V){

23C++ map 映照容器(ctrl+C & ctrl+V) //输入键值与映照数据

24C++ map 映照容器(ctrl+C & ctrl+V) cout << (rit).first << " : " << (rit).second << endl ;

25C++ map 映照容器(ctrl+C & ctrl+V) }


26C++ map 映照容器(ctrl+C & ctrl+V) return 0 ;

27C++ map 映照容器(ctrl+C & ctrl+V)}


28C++ map 映照容器(ctrl+C & ctrl+V)

运行结果:

30 : a

28 : k

25 : m

10 : x

4、元素的搜索

使用find()方法来搜索某个键值,如果搜索到了,则返回该键值所在的迭代器位置,否则,返回end()迭代器位置。由于map采用黑白树数据结构来实现,所以搜索速度是极快的。

下面这个程序搜索键值为28的元素:

1C++ map 映照容器(ctrl+C & ctrl+V)#include


2C++ map 映照容器(ctrl+C & ctrl+V)#include

3C++ map 映照容器(ctrl+C & ctrl+V)#include

4C++ map 映照容器(ctrl+C & ctrl+V)

5C++ map 映照容器(ctrl+C & ctrl+V)using std :: cout ;

6C++ map 映照容器(ctrl+C & ctrl+V)using std :: endl ;

7C++ map 映照容器(ctrl+C & ctrl+V)using std :: string ;

8C++ map 映照容器(ctrl+C & ctrl+V)using std :: map ;

9C++ map 映照容器(ctrl+C & ctrl+V)

10C++ map 映照容器(ctrl+C & ctrl+V)int main()

11C++ map 映照容器(ctrl+C & ctrl+V){

12C++ map 映照容器(ctrl+C & ctrl+V) //定义map对象,当前没有任何元素

13C++ map 映照容器(ctrl+C & ctrl+V) map m ;

14C++ map 映照容器(ctrl+C & ctrl+V) //插入元素,按键值的由小到大放入黑白树中

15C++ map 映照容器(ctrl+C & ctrl+V) m[25] = 'm' ;

16C++ map 映照容器(ctrl+C & ctrl+V) m[28] = 'k' ;

17C++ map 映照容器(ctrl+C & ctrl+V) m[10] = 'x' ;

18C++ map 映照容器(ctrl+C & ctrl+V) m[30] = 'a' ;

19C++ map 映照容器(ctrl+C & ctrl+V) map :: iterator it ;

20C++ map 映照容器(ctrl+C & ctrl+V) it = m.find(28) ;

21C++ map 映照容器(ctrl+C & ctrl+V) if(it != m.end()) //搜索到该键值

22C++ map 映照容器(ctrl+C & ctrl+V) cout << (it).first << " : " << ( it ).second << endl ;

23C++ map 映照容器(ctrl+C & ctrl+V) else

24C++ map 映照容器(ctrl+C & ctrl+V) cout << "not found it" << endl ;

25C++ map 映照容器(ctrl+C & ctrl+V) return 0 ;

26C++ map 映照容器(ctrl+C & ctrl+V)}


27C++ map 映照容器(ctrl+C & ctrl+V)

5、自定义比较函数

将元素插入到map中去的时候,map会根据设定的比较函数将该元素放到该放的节点上去。在定义map的时候,如果没有指定比较函数,那么采用默认的比较函数,即按键值由小到大的顺序插入元素。在很多情况下,需要自己编写比较函数。


编写方法有两种。

(1)如果元素不是结构体,那么,可以编写比较函数。下面这个程序编写的比较规则是要求按键值由大到小的顺序将元素插入到map中


1C++ map 映照容器(ctrl+C & ctrl+V)#include



2C++ map 映照容器(ctrl+C & ctrl+V)#include

3C++ map 映照容器(ctrl+C & ctrl+V)#include

4C++ map 映照容器(ctrl+C & ctrl+V)

5C++ map 映照容器(ctrl+C & ctrl+V)using std :: cout ;

6C++ map 映照容器(ctrl+C & ctrl+V)using std :: endl ;

7C++ map 映照容器(ctrl+C & ctrl+V)using std :: string ;

8C++ map 映照容器(ctrl+C & ctrl+V)using std :: map ;

9C++ map 映照容器(ctrl+C & ctrl+V)

10C++ map 映照容器(ctrl+C & ctrl+V)//自定义比较函数 myComp

11C++ map 映照容器(ctrl+C & ctrl+V)struct myComp


12C++ map 映照容器(ctrl+C & ctrl+V){

13C++ map 映照容器(ctrl+C & ctrl+V) bool operator() (const int &a, const int &b)

14C++ map 映照容器(ctrl+C & ctrl+V){

15C++ map 映照容器(ctrl+C & ctrl+V) if(a != b) return a > b ;

16C++ map 映照容器(ctrl+C & ctrl+V) else return a > b ;

17C++ map 映照容器(ctrl+C & ctrl+V) }


18C++ map 映照容器(ctrl+C & ctrl+V)}
;


19C++ map 映照容器(ctrl+C & ctrl+V)

20C++ map 映照容器(ctrl+C & ctrl+V)int main()

21C++ map 映照容器(ctrl+C & ctrl+V){

22C++ map 映照容器(ctrl+C & ctrl+V) //定义map对象,当前没有任何元素

23C++ map 映照容器(ctrl+C & ctrl+V) map m ;

24C++ map 映照容器(ctrl+C & ctrl+V) //插入元素,按键值的由小到大放入黑白树中

25C++ map 映照容器(ctrl+C & ctrl+V) m[25] = 'm' ;

26C++ map 映照容器(ctrl+C & ctrl+V) m[28] = 'k' ;

27C++ map 映照容器(ctrl+C & ctrl+V) m[10] = 'x' ;

28C++ map 映照容器(ctrl+C & ctrl+V) m[30] = 'a' ;

29C++ map 映照容器(ctrl+C & ctrl+V) //使用前向迭代器中序遍历map

30C++ map 映照容器(ctrl+C & ctrl+V) map :: iterator it ;

31C++ map 映照容器(ctrl+C & ctrl+V) for(it = m.begin() ; it != m.end() ; it ++)

32C++ map 映照容器(ctrl+C & ctrl+V) cout << (it).first << " : " << (it).second << endl ;

33C++ map 映照容器(ctrl+C & ctrl+V) return 0 ;

34C++ map 映照容器(ctrl+C & ctrl+V)}


35C++ map 映照容器(ctrl+C & ctrl+V)
运行结果:

30 :a

28 :k

25 :m

10 :x

(2)如果元素是结构体,那么,可以直接把比较函数写在结构体内。下面的程序详细说明了如何操作:


1C++ map 映照容器(ctrl+C & ctrl+V)#include



2C++ map 映照容器(ctrl+C & ctrl+V)#include

3C++ map 映照容器(ctrl+C & ctrl+V)#include

4C++ map 映照容器(ctrl+C & ctrl+V)

5C++ map 映照容器(ctrl+C & ctrl+V)using std :: cout ;

6C++ map 映照容器(ctrl+C & ctrl+V)using std :: endl ;

7C++ map 映照容器(ctrl+C & ctrl+V)using std :: string ;

8C++ map 映照容器(ctrl+C & ctrl+V)using std :: map ;

9C++ map 映照容器(ctrl+C & ctrl+V)

10C++ map 映照容器(ctrl+C & ctrl+V)struct Info

11C++ map 映照容器(ctrl+C & ctrl+V){

12C++ map 映照容器(ctrl+C & ctrl+V) string name ;

13C++ map 映照容器(ctrl+C & ctrl+V) float score ;

14C++ map 映照容器(ctrl+C & ctrl+V) //重载 “<”操作符,自定义排列规则

15C++ map 映照容器(ctrl+C & ctrl+V) bool operator < (const Info &a) const

16C++ map 映照容器(ctrl+C & ctrl+V){

17C++ map 映照容器(ctrl+C & ctrl+V) //按score由大到小排列。如果要由小到大排列,使用“>”号即可

18C++ map 映照容器(ctrl+C & ctrl+V) return a.score < score ;

19C++ map 映照容器(ctrl+C & ctrl+V) }


20C++ map 映照容器(ctrl+C & ctrl+V)}
;


21C++ map 映照容器(ctrl+C & ctrl+V)

22C++ map 映照容器(ctrl+C & ctrl+V)int main()

23C++ map 映照容器(ctrl+C & ctrl+V){

24C++ map 映照容器(ctrl+C & ctrl+V) //定义map对象,当前没有任何元素

25C++ map 映照容器(ctrl+C & ctrl+V) map m ;

26C++ map 映照容器(ctrl+C & ctrl+V) //定义Info结构体变量

27C++ map 映照容器(ctrl+C & ctrl+V) Info info ;

28C++ map 映照容器(ctrl+C & ctrl+V) //插入元素,按键值的由小到大放入黑白树中

29C++ map 映照容器(ctrl+C & ctrl+V) info.name = "Jack" ;

30C++ map 映照容器(ctrl+C & ctrl+V) info.score = 60 ;

31C++ map 映照容器(ctrl+C & ctrl+V) m[info] = 25 ;

32C++ map 映照容器(ctrl+C & ctrl+V) info.name = "Bomi" ;

33C++ map 映照容器(ctrl+C & ctrl+V) info.score = 80 ;

34C++ map 映照容器(ctrl+C & ctrl+V) m[info] = 10 ;

35C++ map 映照容器(ctrl+C & ctrl+V) info.name = "Peti" ;

36C++ map 映照容器(ctrl+C & ctrl+V) info.score = 66.5 ;

37C++ map 映照容器(ctrl+C & ctrl+V) m[info] = 30 ;

38C++ map 映照容器(ctrl+C & ctrl+V) //使用前向迭代器中序遍历map

39C++ map 映照容器(ctrl+C & ctrl+V) map :: iterator it ;

40C++ map 映照容器(ctrl+C & ctrl+V) for(it = m.begin() ; it != m.end() ; it ++)

41C++ map 映照容器(ctrl+C & ctrl+V){

42C++ map 映照容器(ctrl+C & ctrl+V) cout << (it).second << " : " ;

43C++ map 映照容器(ctrl+C & ctrl+V) cout << ((
it).first).name << " : " << ((it).first).score << endl ;

44C++ map 映照容器(ctrl+C & ctrl+V) }


45C++ map 映照容器(ctrl+C & ctrl+V) return 0 ;

46C++ map 映照容器(ctrl+C & ctrl+V)}


47C++ map 映照容器(ctrl+C & ctrl+V)
运行结果:

10 :Bomi 80

30 :Peti 66.5

25 :Jack 60

6、用map实现数字分离

对数字的各位进行分离,采用取余等数学方法是很耗时的。而把数字当成字符串,使用map的映照功能,很方便地实现了数字分离。下面这个程序将一个字符串中的字符当成数字,并将各位的数值相加,最后输出各位的和。


1C++ map 映照容器(ctrl+C & ctrl+V)#include

2C++ map 映照容器(ctrl+C & ctrl+V)#include



3C++ map 映照容器(ctrl+C & ctrl+V)#include

4C++ map 映照容器(ctrl+C & ctrl+V)

5C++ map 映照容器(ctrl+C & ctrl+V)using std :: cout ;

6C++ map 映照容器(ctrl+C & ctrl+V)using std :: endl ;

7C++ map 映照容器(ctrl+C & ctrl+V)using std :: string ;

8C++ map 映照容器(ctrl+C & ctrl+V)using std :: map ;

9C++ map 映照容器(ctrl+C & ctrl+V)

10C++ map 映照容器(ctrl+C & ctrl+V)int main()

11C++ map 映照容器(ctrl+C & ctrl+V){

12C++ map 映照容器(ctrl+C & ctrl+V) //定义map对象,当前没有任何元素

13C++ map 映照容器(ctrl+C & ctrl+V) map m ;

14C++ map 映照容器(ctrl+C & ctrl+V)

15C++ map 映照容器(ctrl+C & ctrl+V) //赋值:字符映射数字

16C++ map 映照容器(ctrl+C & ctrl+V) m['0'] = 0 ;

17C++ map 映照容器(ctrl+C & ctrl+V) m['1'] = 1 ;

18C++ map 映照容器(ctrl+C & ctrl+V) m['2'] = 2 ;

19C++ map 映照容器(ctrl+C & ctrl+V) m['3'] = 3 ;

20C++ map 映照容器(ctrl+C & ctrl+V) m['4'] = 4 ;

21C++ map 映照容器(ctrl+C & ctrl+V) m['5'] = 5 ;

22C++ map 映照容器(ctrl+C & ctrl+V) m['6'] = 6 ;

23C++ map 映照容器(ctrl+C & ctrl+V) m['7'] = 7 ;

24C++ map 映照容器(ctrl+C & ctrl+V) m['8'] = 8 ;

25C++ map 映照容器(ctrl+C & ctrl+V) m['9'] = 9 ;

26C++ map 映照容器(ctrl+C & ctrl+V)/
上面的10条赋值语句可采用下面这个循环简化代码编写

27C++ map 映照容器(ctrl+C & ctrl+V) for(int j = 0 ; j < 10 ; j++)

28C++ map 映照容器(ctrl+C & ctrl+V) {

29C++ map 映照容器(ctrl+C & ctrl+V) m['0' + j] = j ;

30C++ map 映照容器(ctrl+C & ctrl+V) }

31C++ map 映照容器(ctrl+C & ctrl+V) /

32C++ map 映照容器(ctrl+C & ctrl+V) string sa, sb ;

33C++ map 映照容器(ctrl+C & ctrl+V) sa = "6234" ;

34C++ map 映照容器(ctrl+C & ctrl+V) int i ;

35C++ map 映照容器(ctrl+C & ctrl+V) int sum = 0 ;

36C++ map 映照容器(ctrl+C & ctrl+V) for ( i = 0 ; i < sa.length() ; i++ )

37C++ map 映照容器(ctrl+C & ctrl+V) sum += m[sa[i]] ;

38C++ map 映照容器(ctrl+C & ctrl+V) cout << "sum = " << sum << endl ;

39C++ map 映照容器(ctrl+C & ctrl+V) return 0 ;

40C++ map 映照容器(ctrl+C & ctrl+V)}

41C++ map 映照容器(ctrl+C & ctrl+V)
7、数字映照字符的map写法

在很多情况下,需要实现将数字映射为相应的字符,看看下面的程序:


1C++ map 映照容器(ctrl+C & ctrl+V)#include

2C++ map 映照容器(ctrl+C & ctrl+V)#include



3C++ map 映照容器(ctrl+C & ctrl+V)#include

4C++ map 映照容器(ctrl+C & ctrl+V)

5C++ map 映照容器(ctrl+C & ctrl+V)using std :: cout ;

6C++ map 映照容器(ctrl+C & ctrl+V)using std :: endl ;

7C++ map 映照容器(ctrl+C & ctrl+V)using std :: string ;

8C++ map 映照容器(ctrl+C & ctrl+V)using std :: map ;

9C++ map 映照容器(ctrl+C & ctrl+V)

10C++ map 映照容器(ctrl+C & ctrl+V)int main()

11C++ map 映照容器(ctrl+C & ctrl+V){

12C++ map 映照容器(ctrl+C & ctrl+V) //定义map对象,当前没有任何元素

13C++ map 映照容器(ctrl+C & ctrl+V) map m ;

14C++ map 映照容器(ctrl+C & ctrl+V)

15C++ map 映照容器(ctrl+C & ctrl+V) //赋值:字符映射数字

16C++ map 映照容器(ctrl+C & ctrl+V) m[0] = '0' ;

17C++ map 映照容器(ctrl+C & ctrl+V) m[1] = '1' ;

18C++ map 映照容器(ctrl+C & ctrl+V) m[2] = '2' ;

19C++ map 映照容器(ctrl+C & ctrl+V) m[3] = '3' ;

20C++ map 映照容器(ctrl+C & ctrl+V) m[4] = '4' ;

21C++ map 映照容器(ctrl+C & ctrl+V) m[5] = '5' ;

22C++ map 映照容器(ctrl+C & ctrl+V) m[6] = '6' ;

23C++ map 映照容器(ctrl+C & ctrl+V) m[7] = '7' ;

24C++ map 映照容器(ctrl+C & ctrl+V) m[8] = '8' ;

25C++ map 映照容器(ctrl+C & ctrl+V) m[9] = '9' ;

26C++ map 映照容器(ctrl+C & ctrl+V)/
上面的10条赋值语句可采用下面这个循环简化代码编写

27C++ map 映照容器(ctrl+C & ctrl+V) for(int j = 0 ; j < 10 ; j++)

28C++ map 映照容器(ctrl+C & ctrl+V) {

29C++ map 映照容器(ctrl+C & ctrl+V) m[j] = '0' + j ;

30C++ map 映照容器(ctrl+C & ctrl+V) }

31C++ map 映照容器(ctrl+C & ctrl+V) /

32C++ map 映照容器(ctrl+C & ctrl+V) int n = 7 ;

33C++ map 映照容器(ctrl+C & ctrl+V) string s = "The number is " ;

34C++ map 映照容器(ctrl+C & ctrl+V) cout << s + m[n] << endl ;

35C++ map 映照容器(ctrl+C & ctrl+V) return 0 ;

36C++ map 映照容器(ctrl+C & ctrl+V)}

37C++ map 映照容器(ctrl+C & ctrl+V)
运行结果:

The number is 7

*
原文链接: https://www.cnblogs.com/shengshouzhaixing/archive/2013/04/28/3050019.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/86332

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月9日 下午10:31
下一篇 2023年2月9日 下午10:31

相关推荐