(2019年9月1日)
■使用ソフト
・Visual Studio Community 2019
■言語
・C/C++
■Windows SDK バージョン
・10.0.17763.0
※Windows SDK バージョンの変更方法
■手順
1.以下をベースにコード変更する。
【C++】 メッセージボックスの作成
2.C++ファイル(.cpp)を以下のとおり変更する。
#include <windows.h>
#include <string>
#include <unordered_map>
int APIENTRY wWinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance, _In_ LPWSTR lpCmdLine, _In_ int nCmdShow)
{
WCHAR wcText[256];
std::unordered_map<std::string, int> um = { {"Toyota", 80}, {"Nissan", 60}, };
um["Honda"] = 40;//追加で設定
std::unordered_map<std::string, int>::iterator itr = um.find("Nissan");//"Nissan"があるか探す
if (itr != um.end())//あった場合
{
itr->second = 59;//2番目の値を60→59に変更
}
int add = 0;
for (itr = um.begin(); itr != um.end(); itr++)
{
//unordered_mapの場合は順番に並んでいないので、
//バラバラに+10、+20、+30される。
add += 10;
itr->second += add;
}
swprintf(wcText, 256, L"%d, %d, %d", um["Toyota"], um["Nissan"], um["Honda"]);
MessageBox(NULL, wcText, L"unordered_map", MB_OK);
return 0;
}
#include <string>
#include <unordered_map>
int APIENTRY wWinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance, _In_ LPWSTR lpCmdLine, _In_ int nCmdShow)
{
WCHAR wcText[256];
std::unordered_map<std::string, int> um = { {"Toyota", 80}, {"Nissan", 60}, };
um["Honda"] = 40;//追加で設定
std::unordered_map<std::string, int>::iterator itr = um.find("Nissan");//"Nissan"があるか探す
if (itr != um.end())//あった場合
{
itr->second = 59;//2番目の値を60→59に変更
}
int add = 0;
for (itr = um.begin(); itr != um.end(); itr++)
{
//unordered_mapの場合は順番に並んでいないので、
//バラバラに+10、+20、+30される。
add += 10;
itr->second += add;
}
swprintf(wcText, 256, L"%d, %d, %d", um["Toyota"], um["Nissan"], um["Honda"]);
MessageBox(NULL, wcText, L"unordered_map", MB_OK);
return 0;
}
3.実行結果(Toyota, Nissan, Hondaの値が表示される)
0 件のコメント:
コメントを投稿