gpt4 book ai didi

c++ - map 和 unordered_map 包含指向 double 的指针?

转载 作者:行者123 更新时间:2023-11-30 01:20:38 24 4
gpt4 key购买 nike

如果我有一个 std::map 和 std::unordered_map 我怎么能在 double 上使用指针,这样当 unordered_map 更新特定键的 double 值时,这已经反射(reflect)在 std::map 中相同的“ key ”?

所以:

unordered_map["1"] = 6 导致 map["1"] 也为 6....

最佳答案

没有理由不能使用指针。

示例:

#include <iostream>
#include <map>
#include <unordered_map>
#include <memory>

int main()
{
std::unordered_map<std::string, std::shared_ptr<double>> umap;
std::map<std::string, std::shared_ptr<double>> omap;

std::shared_ptr<double> value(new double(1234.5));

umap.emplace("key", value);
omap.emplace("key", value);

std::cout << "umap " << *umap["key"] << "\n";
std::cout << "omap " << *omap["key"] << "\n";

*umap["key"] = 9999.1;
std::cout << "omap " << *omap["key"] << "\n";
}

输出:

umap 1234.5
omap 1234.5
omap 9999.1

关于c++ - map 和 unordered_map 包含指向 double 的指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19170434/

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