gpt4 book ai didi

c++ - C++ 中派生类的模板参数的运行时选择 - 标准名称?

转载 作者:太空宇宙 更新时间:2023-11-04 11:51:55 28 4
gpt4 key购买 nike

假设我在 C++ 中有一个模板派生类,我想根据某些条件在运行时为其选择模板参数。像这样的东西:

class Base {
public:
virtual void do_something() = 0;
};

template <typename T, typename U>
class Derived : public Base {
public:
virtual void do_something() { ... }
};

Base* obj;
if (... /* runtime conditon #1 */ )
obj = new Derived<T1, U1>();
else if (... /* runtime condition #2 */ )
obj = new Derived<T1, U2>();
...

obj->do_something();

我想笼统地指代这种情况,但不知道如何调用它。它有一些标准名称吗?它是某种设计模式还是习语?

最佳答案

这对我来说看起来像是工厂模式,使用不同的模板实例化而不是更典型的单独的显式派生类。

关于c++ - C++ 中派生类的模板参数的运行时选择 - 标准名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17839798/

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