gpt4 book ai didi

c++ - Ratio<,> 是常量,但如果我想接受不同的比率作为参数怎么办?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:12:30 26 4
gpt4 key购买 nike

也许是一个矛盾的问题:ratio<,>根据定义,是一个编译时常量。

但是,我想构建具有不同比率的持续时间,这些比率可以由我的方法的调用者指定。我想我应该使用比率和/或持续时间以外的东西,但是什么?

比方说,我想要一个可以在运行时设置的类成员,并且我希望它的类型为 ratio<,>。在代码中的某个位置,这个成员被设置/分配,它会被分配一个恒定的比率,但在我的类(class)中,我不想指定该比率应该是多少。

最佳答案

好的,你需要一个 std::ratio “可以由调用者指定”。共有三个不同的选项:

  • 调用者想要设置std::ratio 编译时期间的模板参数。这很简单,只需设置参数,例如using quarter = std::ratio<1, 4> .
  • 调用者想要设置std::ratio 运行时期间的模板参数。这在定义上是不可能的,std::ratio是一个编译时常量。您必须在运行时实现自己的计算比率的类或使用某种库(我不知道有什么,欢迎提出建议!)。
  • 调用者只是想缩放一个 std::duration (这就是您似乎使用 std::ratio 的目的)。然后就是multiply it with a number .

关于c++ - Ratio<,> 是常量,但如果我想接受不同的比率作为参数怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50850626/

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