gpt4 book ai didi

c++ - 如何用变量参数化类型? C++

转载 作者:行者123 更新时间:2023-11-30 05:02:27 25 4
gpt4 key购买 nike

我有模板类:

template<typename T, int L>
class SomeClass{...}

然后我希望用户在创建对象时指定参数,比如说在终端中执行程序时添加参数,例如 ./a.out -i 20对于 SomeClass<int,20>./a.out -d 20对于 SomeClass<double,20> .如何做到这一点?

最佳答案

您要求模板在运行时可实例化;这在 C++ 中是不可能的。

您可以执行以下操作之一:

  1. 有工厂和有限数量的固定选项,预先实例化,例如:

    std::BaseOfSomeClass* = SomeClassFactory.construct(argv[0], std::stoi(argv[1]));
  2. 放弃模板以支持 SomeClass 本身的某种运行时多态性。

  3. 切换到一种解释型/基于虚拟机的语言,或一种具有显式 JITing 的语言,您可以在其中执行此操作。

  4. 为支持 JIT 的 C++ 实现运行时环境...

关于c++ - 如何用变量参数化类型? C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49881852/

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