帮助绘制地图 C++
我有一个映射,将 size_t 链接到一对 size_t 和 int
std::map<; size_type, std::pair
理解是,映射的工作方式类似于堆栈,并且 jst 一个接一个地插入,给出类似于:
1 -> (2,2)
2 -> (4,7)
3 -> (8,5)
etc.
我的问题是,如何获取 int 的值。即2,7,5
。我想使用这个值作为 while 循环的最大大小。
I have a map that links a size_t to a pair, of size_t and int
std::map< size_type, std::pair<size_t, unsigned int> > mapVals;
essentially my understanding of this, is that maps work similar to stacks, and jst insert one after another, giving something similar to:
1 -> (2,2)
2 -> (4,7)
3 -> (8,5)
etc.
my question is, how do I obtain the value of the int. i.e. 2,7,5
. I want to use this value as the max size of a while loop.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
映射与堆栈不同;堆栈维持先进后出(FILO)策略。映射是将键映射到值的东西。
如果您执行以下操作:
您可以检索对的第二个元素,如下所示:
Maps are not similar to stacks; a stack maintains a first-in-last-out (FILO) strategy. A map is something that maps a key to a value.
If you do something like:
You can retrieve the second element of your pair as:
要访问 int,您可以执行以下两种操作之一
,其中
key
的类型为size_t
。这是有效的,因为在地图上使用[size_t]
返回一个std::pair
然后在此调用.second
你是单位。您还可以使用迭代器
To access the int you can do one of two things
where
key
is of typesize_t
. This works because using[size_t]
on the map returns astd::pair<size_t, unsigned int>
then calling.second
on this gets you the uint.You could also use iterators
您可以执行以下操作:
第一个
it->second
将为您提供std::pair
元素。第二个second
将为您提供该对中包含的unsigned int
。You can do something like this:
The first
it->second
will give you thestd::pair <size_t, unsigned int>
element. The secondsecond
will give you theunsigned int
contained in that pair.我不确定您到底想要什么
Value
部分(在本例中为 std::pairI'm not sure what you want exactly
Value
part of the map (in this case std::pair<size_t, unsigned int>)