在很多情况下,需要实现将数字映射为相应的字符
#include <map>
#include <string>
#include <iostream>
using namespace std;
int main()
{
map<int, char> m;
//赋值,数字映射字符
m[0] = '0';
m[1] = '1';
m[2] = '2';
m[3] = '3';
m[4] = '4';
m[5] = '5';
m[6] = '6';
m[7] = '7';
m[8] = '8';
m[9] = '9';
//等价于下面的循环
for (int i = 0; i < 9; i++)
{
m[i] = '0' + i;
}
int n = 7;
cout<< m[n];
system("pause");
}
#include <map>
#include <string>
#include <iostream>
using namespace std;
int main()
{
int sum = 0;
map<char, int> m;
//赋值:字符映射数字
m['0'] = 0;
m['1'] = 1;
m['2'] = 2;
m['3'] = 3;
m['4'] = 4;
m['5'] = 5;
m['6'] = 6;
m['7'] = 7;
m['8'] = 8;
m['9'] = 9;
//上10行等价下面的循环
for (int i = 0;i<10;i++)
{
m['0' + i] = i;
}
string sa = "123";
for (int i = 0; i < sa.length(); i++)
{
sum += m[sa[i]];
}
return 0;
}