insert ("h-6ren">
gpt4 book ai didi

c++ - 如何插入 `std::map* myMap` ?

转载 作者:搜寻专家 更新时间:2023-10-31 02:03:08 25 4
gpt4 key购买 nike

我已经初始化了这样一个 map :

map<string, double>* myMap = new map<string, double>();

此声明不能更改!

我试着像这样插入:

myMap["hi"] = 20.0;

myMap->insert ("hi", 20.0);

正确的做法是什么?

最佳答案

myMap是您案例中的指针。为什么用new分配 map ?这样做:

map<string, double> myMap;
myMap["hi"] = 20.0;

或者如果你仍然想动态分配它,那么解引用指针

(*myMap)["hi"] = 20.0;

或调用operator[]-> :

myMap->operator[]("hi") = 20.0;

insert期待 std::map::value_type这是 std::pair<const string, double>在你的情况下。像这样调用它:

myMap->insert(make_pair("hi", 20.0));

myMap->insert({"hi", 20.0});

请注意,如果已存在具有相同键的条目,使用方括号(任何一种形式)将替换该条目的值,并使用 insert (任何一种形式)什么都不做,只保留以前的值。 (来自@aschepler 评论)

关于c++ - 如何插入 `std::map<string, double>* myMap` ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55993436/

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