gpt4 book ai didi

c++ - 如何让 map 容器使用不同的构造函数创建一个新对象?

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

当我们尝试使用键访问 map 容器中的对象而该对象不存在时,它会使用默认构造函数自动构造。

我想知道有没有办法使用另一个构造函数,例如,使用一个参数?

最佳答案

我个人认为这种行为很奇怪,但如果你真的想这样做,我建议明确写下你想要的:

例如:

typedef std::map<int, std::string> MapType;

std::string FindSomething(int key, const std::string& extraParameter)
{
MapType::iterator It = TheMap.find(key);

if (It == TheMap.end())
{
TheMap.insert(std::make_pair(key, extraparameter));

return extraParameter;
}
else
{
return It->second;
}
}

不依赖自动插入。

关于c++ - 如何让 map 容器使用不同的构造函数创建一个新对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15698412/

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