如何创建具有可变数量类型参数的模板?
How to create a template with variable number of type parameters?
在我们的代码库中,我们经常使用 std::variant<std::shared_ptr<SomeClass>, ...>
。
这显然需要大量的写作。如何制作模板?
template <class... T>
using VarSP = std::variant<std::shared_ptr<???>>;
T
上面的代码片段应该放在哪里?
期望的行为应该是:
VarSP<Foo, Bar, Baz> // std::variant<std::shared_ptr<Foo>, std::shared_ptr<Bar>, std::shared_ptr<Baz>>
template <typename... T>
using VarSP = std::variant<std::shared_ptr<T>...>;
在我们的代码库中,我们经常使用 std::variant<std::shared_ptr<SomeClass>, ...>
。
这显然需要大量的写作。如何制作模板?
template <class... T>
using VarSP = std::variant<std::shared_ptr<???>>;
T
上面的代码片段应该放在哪里?
期望的行为应该是:
VarSP<Foo, Bar, Baz> // std::variant<std::shared_ptr<Foo>, std::shared_ptr<Bar>, std::shared_ptr<Baz>>
template <typename... T>
using VarSP = std::variant<std::shared_ptr<T>...>;