gpt4 book ai didi

c++ - std::chrono 父类(super class)型,函数参数传递

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

我有

auto now = std::chrono::high_resolution_clock::now();

我想将它传递给一个使用通用类型的函数作为一个时间点。我不想指定所用时钟的分辨率或类型。

我试过

void my_function(std::chrono::time_point time_point);

但没有成功。因为显然 std::chrono::time_point 不是一种类型。

最佳答案

std::chrono::time_point是一个模板类,它至少需要一个 clock 模板参数。

要么显式设置时钟,比如

void my_function(std::chrono::time_point<std::chrono::high_resolution_clock> time_point);

或者你可以让你的函数本身成为一个模板:

template<typename Clock>
void my_function(std::chrono::time_point<Clock> time_point);

在最后一种情况下,您实际上不必在调用函数时指定模板参数,编译器会为您计算出来:

my_function(now);

关于c++ - std::chrono 父类(super class)型,函数参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13452923/

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