gpt4 book ai didi

c++ - C++为几个无序映射运行一个循环

转载 作者:行者123 更新时间:2023-12-01 14:39:24 24 4
gpt4 key购买 nike

我是C#编码人员,但是我需要在较旧的c++代码中进行一些修复。我有3个无序映射,以及一个需要在每个映射上运行的for循环。显然,我不想重复3次循环代码。在c++中,如何将引用分配给每个 map ,每个引用一个,然后运行循环(以使对 map 的更改持续存在)?

std::unordered_map<std::wstring, std::int8_t> m_A;
std::unordered_map<std::wstring, std::int8_t> m_B;
std::unordered_map<std::wstring, std::int8_t> m_C;
// run over the 3 maps, one by one
// assign the map here
for (int=0; i<[relevant_map].size(); i++) {
for (auto it = [relevant_map].cbegin(); it != [relevant_map].cend(); ++it) {
...

最佳答案

您可以这样做:

for (auto* m : {&m_A, &m_B, &m_C}) {
for (/*const*/ auto& p : *m) {
// ...
}
}

关于c++ - C++为几个无序映射运行一个循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61902140/

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