gpt4 book ai didi

c++ - 在 C++ 中将智能指针容器作为参数传递

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

我有一个像下面这样的函数

void functionA(unordered_map<string, classA*>* arg1);

我需要传入

unordered_map<string, shared_ptr<classA>>

我如何将带有 shared_ptr 的容器传递给接受原始指针容器的函数?我在这里使用 C++0x。

谢谢

最佳答案

打字unordered_map<string, shared_ptr<classA>>unordered_map<string, classA*>是不相关的类型。

所以你不能直接将一个传递到另一个需要的地方。

您可以:

  • 更改函数的签名,或者

  • 将数据复制到预期类型的​​对象。

顺便说一下,考虑引用参数而不是指针参数。

此外,考虑添加 const只要有可能——它通常有助于使代码更易于理解,因为这样您就可以保证不被修改。

干杯,

关于c++ - 在 C++ 中将智能指针容器作为参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4273591/

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