C++11 以C+为单位的实例时钟+;11

C++11 以C+为单位的实例时钟+;11,c++11,clock,system-clock,C++11,Clock,System Clock,std命名空间中的新时钟似乎都是静态实例化的high_resolution_clock不是一类具有高分辨率的时钟,而是系统范围内的高分辨率时钟,采用静态方法,如now 我理解他们为什么这样做,但我用的是实例时钟。在我的例子中,我正在模拟N个高分辨率时钟的存在,在模拟设备中的每个模拟板上都有一个,其中N是在运行时确定的。此外,时钟周期在运行时确定 我的需求显然与C++11时钟提供的不同。是否有一种通用的方法来重用引用时钟运行时实例的官方类,如time\u point?我可能最终需要重写整个时钟AP

std
命名空间中的新时钟似乎都是静态实例化的
high_resolution_clock
不是一类具有高分辨率的时钟,而是系统范围内的高分辨率时钟,采用静态方法,如
now

我理解他们为什么这样做,但我用的是实例时钟。在我的例子中,我正在模拟N个高分辨率时钟的存在,在模拟设备中的每个模拟板上都有一个,其中N是在运行时确定的。此外,时钟周期在运行时确定


我的需求显然与C++11时钟提供的不同。是否有一种通用的方法来重用引用时钟运行时实例的官方类,如
time\u point
?我可能最终需要重写整个时钟API以满足我的需要,但我希望重用标准工作以节省时间。

如果时钟都是准确的,它们不是系统时钟加上或减去偏移量吗?否则,您需要将系统时间转换为模拟时间,例如
t+(t%(15U*60U*CLOCKS\u peru_second))*23/20
如果模拟时钟运行速度过快15%,并且每15分钟校正一次。在实际硬件中,时钟之间会有一个小的增量,这是时钟抖动的自然现象,这对这个硬件应用程序很重要。如果在模拟中,它们使用相同的时钟,那么就不会有增量,因此我不会测试这些算法是否能够适应这种抖动。当然,会有一些像你最后描述的基于模拟的变换,但我正试图将这种效果与测试中的算法隔离开来。也许会添加一些噪声?@Lorehead这是我的计划。问题是在哪里,我是否可以使用标准的持续时间和时间点,或者我是否必须编写自己的,以说明需要有一个运行时指定数量的嘈杂时钟。您应该能够使用has-a继承和duck类型的方法。如果时钟都是准确的,它们不是加上或减去偏移量的系统时钟吗?否则,您需要将系统时间转换为模拟时间,例如
t+(t%(15U*60U*CLOCKS\u peru_second))*23/20
如果模拟时钟运行速度过快15%,并且每15分钟校正一次。在实际硬件中,时钟之间会有一个小的增量,这是时钟抖动的自然现象,这对这个硬件应用程序很重要。如果在模拟中,它们使用相同的时钟,那么就不会有增量,因此我不会测试这些算法是否能够适应这种抖动。当然,会有一些像你最后描述的基于模拟的变换,但我正试图将这种效果与测试中的算法隔离开来。也许会添加一些噪声?@Lorehead这是我的计划。问题是在哪里,我是否可以使用标准的持续时间和时间点,或者我是否必须编写自己的来说明需要有一个运行时指定数量的嘈杂时钟。您应该能够使用has-a继承和duck类型的方法。