Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/127.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 确定计时持续时间的部分_C++_Chrono - Fatal编程技术网

C++ 确定计时持续时间的部分

C++ 确定计时持续时间的部分,c++,chrono,C++,Chrono,我想计算一个持续时间的哪个部分包含在另一个持续时间中。有,但对于以下示例,它给出了0(由于整数除法): auto s = 1s; auto ms = 200ms; std::cout << ms / s; // 0, but I want 0.2 here auto s=1s; 自动ms=200ms; std::不能使用基于持续时间的double #include <chrono> #include <iostream> int main() {

我想计算一个持续时间的哪个部分包含在另一个持续时间中。有,但对于以下示例,它给出了
0
(由于整数除法):

auto s = 1s;
auto ms = 200ms;
std::cout << ms / s; // 0, but I want 0.2 here
auto s=1s;
自动ms=200ms;

std::不能使用基于持续时间的
double

#include <chrono>
#include <iostream>

int main()
{
    using namespace std::chrono_literals;    
    using my_seconds = std::chrono::duration<double>;

    my_seconds s = 1s;
    my_seconds ms = 200ms;

    std::cout << ms / s << '\n';
}
#包括
#包括
int main()
{
使用名称空间std::chrono_文本;
使用my_seconds=std::chrono::duration;
我的秒s=1s;
my_秒ms=200ms;

std::cout将旧类型与cast一起使用也有效
std::chrono::duration_cast(ms)/s
。谢谢!@alexolute:
ms
将隐式转换为
my_seconds
,无需使用
duration_cast
my_seconds{ms}/s
。最好只为您希望强制截断的时间保留
持续时间\u cast
#include <chrono>
#include <iostream>

int main()
{
    using namespace std::chrono_literals;    
    using my_seconds = std::chrono::duration<double>;

    my_seconds s = 1s;
    my_seconds ms = 200ms;

    std::cout << ms / s << '\n';
}