gpt4 book ai didi

关于 unordered_map 的 C++ 结构化绑定(bind)问题

转载 作者:太空狗 更新时间:2023-10-29 23:48:32 30 4
gpt4 key购买 nike

我正在学习新的 C++17 特性,我遇到了这个:

std::vector<int> nums = { 1, 1, 2, 3 };
std::unordered_map<int, size_t> m;
for (int i = 0; i < nums.size(); ++i)
{
const auto& [inserted_entry, inserted_happen] = m.emplace(nums[i], i);
std::cout << inserted_happen << "\n";
}

结果是:

1
0
1
1

这里发生了什么?我不明白。

还有什么是inserted_entry?

最佳答案

emplace 返回一对指向插入元素(或已经存在的元素)的迭代器和一个表示插入是否成功的 bool

inserted_happen 是一个 bool

第二次插入失败,因为 1 已经作为键存在于映射中。

关于关于 unordered_map 的 C++ 结构化绑定(bind)问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57668043/

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