gpt4 book ai didi

c++ - 在 C++ 中使用 map,string>

转载 作者:行者123 更新时间:2023-11-28 07:03:12 28 4
gpt4 key购买 nike

我是 C++ map 的新手。我想在我的程序中使用如下所示的 map 。

std::map<std::pair<int,int>,string> pattern

这里的键 int,int 实际上是二维网格和列的行位置和列位置最初是未知的。所以我想到了将列初始设置为值0。在程序过程中,它也可能是负数。那么谁能帮助我如何访问和设置此类 map 的元素?

最佳答案

只要您在 C++11 模式下编译(从 2014 年开始,您应该这样做),该对的值就可以指定为 braced-init-list,例如{ 4, -13 },在map的大部分接口(interface)函数中。这不适用于 emplace 或任何其他使用完美转发的东西。

例如:

patterns[{ 1, 2 }] = "hello"; // set a given element
patterns.at[{ 1, 2 }] = "Hello"; // alter a given pre-existing element
foo( patterns.at[{ 1, 2 }] ); // pass a (reference to) pre-existing element
patterns.erase({ 3 , 4 }); // ensure that given element no longer exists

关于c++ - 在 C++ 中使用 map<pair<int,int>,string>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22137792/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com