如何在 Map 中存储集合容器的迭代器列表
How to store list of iterators of set container in Map
我想在地图容器中插入键和值。这里我的键只有 string
但值是 list< set<string>::iterator >
.
这是我的头文件代码。
using Mypaths = set < string > ;
using Mapdata = map < string, list < set < string >::iterator > >;
Mapdata myMap;
Mypaths paths;
这里我想从一个函数中插入值,在 mymap
中键是正常的 string
但值应该是 list of iterator of set container
那些指向 Mypaths
的不同位置设置。
请告诉我该怎么做。我在网上搜索我没有得到任何与此相关的答案。
如有任何帮助,我们将不胜感激。
此致
下面是一个示例,希望对您有所帮助:
#include <string>
#include <set>
#include <map>
#include <list>
int main()
{
using namespace std;
using Mypaths = set < string > ;
using Mapdata = map < string, list < set < string >::iterator > >;
Mapdata myMap;
Mypaths paths { "left", "right", "up", "down" };
// Fill a temporary list with iterators...
list< set<string>::iterator > temp;
temp.push_back( paths.find("left") );
temp.push_back( paths.find("up") );
// ... and then add the list to the map
myMap["left and up"] = std::move(temp);
// Or do it directly within the map:
myMap["right and down"].push_back( paths.find("right") );
myMap["right and down"].push_back( paths.find("down") );
}
我想在地图容器中插入键和值。这里我的键只有 string
但值是 list< set<string>::iterator >
.
这是我的头文件代码。
using Mypaths = set < string > ;
using Mapdata = map < string, list < set < string >::iterator > >;
Mapdata myMap;
Mypaths paths;
这里我想从一个函数中插入值,在 mymap
中键是正常的 string
但值应该是 list of iterator of set container
那些指向 Mypaths
的不同位置设置。
请告诉我该怎么做。我在网上搜索我没有得到任何与此相关的答案。
如有任何帮助,我们将不胜感激。
此致
下面是一个示例,希望对您有所帮助:
#include <string>
#include <set>
#include <map>
#include <list>
int main()
{
using namespace std;
using Mypaths = set < string > ;
using Mapdata = map < string, list < set < string >::iterator > >;
Mapdata myMap;
Mypaths paths { "left", "right", "up", "down" };
// Fill a temporary list with iterators...
list< set<string>::iterator > temp;
temp.push_back( paths.find("left") );
temp.push_back( paths.find("up") );
// ... and then add the list to the map
myMap["left and up"] = std::move(temp);
// Or do it directly within the map:
myMap["right and down"].push_back( paths.find("right") );
myMap["right and down"].push_back( paths.find("down") );
}