在不知道的情况下获取地图的钥匙
get keys of map without know its
我的ObjClass * obj
有一个map<std::string, OtherClass*> obj2
,我想获取所有密钥,因为我想迭代obj2的内容。
我无法先验地知道字符串包含什么,所以我尝试了这种方式,但没有工作。
typedef std::map<std::string, ObjClass2*>::iterator it_type;
for(it_type iterator = obj.begin(); iterator != obj.end(); iterator++)
{
std::cout<<iterator->first<<std::endl;
}
也许我可以使用另一个整数索引?但是怎么做呢?
请检查下面的代码,您需要遍历 obj2 元素:
typedef std::map<std::string, ObjClass2*>::iterator it_type;
for(it_type iterator = obj->obj2.begin(); iterator != obj->obj2.end(); ++iterator)
{
std::cout<<iterator->first<<std::endl;
}
如果你说 obj 有类型 ObjClass *
那么很明显这个结构
it_type iterator = obj.begin();
无效。
如果您需要获取 obj2 的所有键,您可以按以下方式编写
for ( const auto &p : obj->obj2 )
{
std::cout << p.first << std::endl;
}
相关文章:
- 为什么不;名字在地图上是按顺序排列的吗
- 基于多个条件处理地图中的所有元素
- 在C++中将矢量转换为嵌套地图
- 替换基于地图的所有引用
- 如何区分地图中的 0 和 false?
- 地图计数确实很重要,或者只是检查是否存在
- 如何从地图中删除矢量对象
- 是否有任何C++功能可以对地图进行排序?
- 如何使用 std::variant 打印地图键/值?
- 从矢量或地图中删除共享指针
- 在 c++ 中,有一种方法可以创建一个包含地图作为值的树状地图?
- 无限嵌套具有变体的地图
- C++一会儿循环读到地图上 2 行?
- 如何在cpp中使用地图显示给定日期范围内(在下面的问题中)的费率?
- 如何检查变量是否是C++中的地图?
- 如何使地图按值C++排序
- 带钥匙的C 11地图定义了一个值范围
- 在不知道的情况下获取地图的钥匙
- 在地图上找到钥匙
- 地图:坏Ptr,即使找到了钥匙