映射基于自动的循环单元素访问C++
map auto-based loop single element access C++
除了auto
循环之外,我还试图理解"理论"
标准::地图
元素C++。我有一个std::map
,std::string
作为KEY,vector<std:string>
作为VALUE。我可以通过以下方式访问其元素:
for ( auto &element : myMap ) {
std::cout << element.first << ": " << 't';
for ( std::string subElement : element.second ) std::cout << subElement << ", ";
}
}
至于vector<string>
元素的循环,我知道我可以输入"auto"而不是"std::string"。但是在这种情况下,地图的等价物是什么?我四处研究和搜索,我在那篇帖子中发现每个地图元素都是作为
地图<K,>::value_type
但是我该怎么写呢?我试过了:
for ( std::map<std::string, vector<std::string>> &pz : myMap ) {
// print ...
}
和类似的东西,但它们就是不起作用。
std::map::value_type
被定义为std::map
元素的类型,它是std::pair<const Key, T>
(即 std::pair<const std::string, vector<std::string>>
这里(。 您应该将其用作
for ( std::map<std::string, vector<std::string>>::value_type &pz : myMap ) {
// ^^^^^^^^^^^^
// print ...
}
松元耀已经回答了你的问题。这里需要澄清的一件事是,std::map
被定义为
template<
class Key,
class T,
class Compare = std::less<Key>,
class Allocator = std::allocator<std::pair<const Key, T> >
> class map;
类名应std::map<key type, value type>
。
相关文章:
- 使用不带参数的函数访问结构元素
- 我想访问std::unique_ptr中的一个特定元素
- 访问类lintalizer列表中的结构元素
- 从C++中的对列表中访问特定元素
- 访问动态分配列表中的元素
- 如何从静态向量访问类元素?
- 以C++访问矢量中的地图元素
- 映射基于自动的循环单元素访问C++
- 用元组作为C 的元素访问元组
- 元素访问(获取和放置)在C++中使用 std::vector
- 在Haskell中使用O(1)元素访问实现高效的类似拉链的数据结构
- std::map - 无异常且无需插入的元素访问
- C++2D矢量声明和来自调试器的元素访问
- 迭代器性能的重点应该放在高级还是元素访问上
- groot集合-元素访问
- 矩阵元素访问
- 对于boost::hana::tuple,元素访问的时间复杂度是多少?
- c++向量元素访问
- 通用容器和可变元素访问
- std::vector中的每个元素访问都是缓存未命中吗