typedef pair<unsigned char, unsigned char> pair_k;
map<unsigned char, pair_k> mapping;
Run Code Online (Sandbox Code Playgroud)
将以这种方式使用:
mapping[100] = make_pair(10,10);
Run Code Online (Sandbox Code Playgroud)
问题是:
std :: map operator[]返回对100(key)标识的map元素的引用,然后由std :: make_pair(10,10)返回的对覆盖.
我会建议:
map.insert( std::make_pair( 100, std::make_pair(10,10) ) );
Run Code Online (Sandbox Code Playgroud)
插入调用具有仅访问一次映射的优点.