我有一个
map <wstring,wstring>.
我插入了这样的对:
m_Translations.Content().insert(pair<wstring,wstring>(L"rome",L"roma"));
m_Translations.Content().insert(pair<wstring,wstring>(L"water",L"aqua"));
我如何确定&#34; water&#34;的翻译?从地图? 换句话说:我想从第一个开始获得第二个项目。 搜索区分大小写。
感谢您的帮助!
答案 0 :(得分:4)
有点奇怪的问题。使用operator[]
访问地图的默认方式如何?
wstring aqua = m_Translations.Content()[L"water"];
如果您不确定是否存在翻译,可以使用find
方法进行检查:
const auto& dict = m_Translations.Content();
auto pAqua = dict.find(L"water");
if (pAqua != dict.end())
{
// Found it!
}
else
{
// Not there...
}
答案 1 :(得分:3)
您可以使用std::map
上提供的operator[]。
例如:
map<wstring, wstring> myMap = m_Translations.Content();
myMap.insert(pair<wstring, wstring>(L"rome", L"roma"));
myMap.insert(pair<wstring, wstring>(L"water", L"aqua"));
// waterText value would be 'aqua'
wstring waterText = myMap[L"water"];