gpt4 book ai didi

c++ - 如何将数据插入到一个参数是对象的 map 中?

转载 作者:行者123 更新时间:2023-11-28 02:25:45 28 4
gpt4 key购买 nike

我有一个 Normal 类定义为:

    class Normal
{
bool value;
float time;
public:
Normal(bool val,float time): value(val),time(time) {}
}

此外,我已将 map 变量声明为:

    map<string,Normal> myMap;

现在我想将数据插入到这张 map 中。这种插入方式正确吗?

    Normal temp(true,45.04);
myMap.insert(pair<string,Normal>("one",temp));

    myMap["one"]=temp;

我应该如何向 map 中插入数据?

最佳答案

在 C++03 中:

myMap.insert(std::make_pair(
"one",
Normal(true, 45.04)
));

在 C++11 中:

m.emplace(std::piecewise_construct,
std::forward_as_tuple("one"),
std::forward_as_tuple(true, 45.04)
);

两者都避免在 operator[] 中默认构造一个键值对,然后覆盖它。

关于c++ - 如何将数据插入到一个参数是对象的 map 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30727836/

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