gpt4 book ai didi

c++ - std::make_unique 可以与抽象接口(interface)一起使用吗?

转载 作者:可可西里 更新时间:2023-11-01 15:38:13 26 4
gpt4 key购买 nike

考虑以下代码行:

auto source1 = std::unique_ptr<IGpsSource>(new GpsDevice(comPort, baudrate));
auto source2 = std::unique_ptr<IGpsSource>(new GpsLog(filename));

如何使用 VS 2013 支持的新 std::make_unique 函数来编写?有可能吗?*

*我的问题是我不知道如何告诉 std::make_unique 要实例化哪种对象。因为只有构造函数的参数被传入,所以似乎无法控制它。

最佳答案

std::unique_ptr<Base> base_ptr = std::make_unique<Derived>();

正如 Angew 所说,以上内容应该可以正常工作。 Provided Derived 使用公共(public)继承。只是想添加它以确保完整性。

关于c++ - std::make_unique 可以与抽象接口(interface)一起使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26355467/

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