---
# System prepended metadata

title: 'Map [C++]'
tags: [C]

---

# Map [C++]

## 常見屬性
`map.insert()` 

## 宣告方法
> map<string, int> RomanMap

## 範例
```c
#include <iostream>
#include <map>
using  namespace std;

map<string, int> RomanMap;
map<string, int>::iterator iter;

vector<string> Roman{"I", "IV", "V", "IX", "X","XL","L","XC","C", "CD", "D", "CM", "M"};

vector<int> value{1,4,5,9,10,40,50,90,100, 400, 500, 900, 1000};

#用insert放入map
for(int i =0; i<s_len; i++)
{
    RomanMap.insert(pair<string, int>(Roman[i], value[i]));
}

#如果find沒有找到 iter 就會等於map.end()
iter = RomanMap.find("X");
if (iter != RomanMap.end()) ans.push_back(iter->second);

#印出map裡的所有東西
for(auto iter = RomanMap.cbegin(); iter!=RomanMap.cend(), ++iter)
{    
    cout <<iter->first<<" "<<iter->second<< endl;
}

```

### 備註
:::info
:bulb: 這種相對應的資料處存方式，在C++裡稱為hash table，實則為python的dictionary；
在python裡的map，是另外一種類似lambda的function。
:::

<br>

###### tags: `C` 