小编Jam*_*one的帖子

无限的std :: chrono :: duration对象是否合法?

制作和使用std::chrono::duration<double>无穷大作为包含值是否合法?

std::chrono::duration<double>{ std::numeric_limits<double>::infinity() };
Run Code Online (Sandbox Code Playgroud)

它会表现得像我期望的那样,在添加或减去其他持续时间时保持无限的价值吗?

我通过cppreference挖了但是我发现讨论这个问题的唯一一件事就是duration_cast注意到这一点的页面:

当浮点值为NaN,无穷大或太大而无法通过目标的整数类型表示时,从浮点持续时间转换为整数持续时间会受到未定义的行为.否则,转换为整数持续时间会受到截断,就像使用static_cast到整数类型一样.

这似乎暗示它是合法的,但只是以一种反面的方式.

(我使用的类型代表"请在X秒内唤醒我"的方式,正无限是一个有用的哨兵,代表"当我醒来时我真的不在乎")

c++ language-lawyer c++11 c++-chrono

26
推荐指数
2
解决办法
1876
查看次数

提交时出现Mercurial错误:"abort:phases.new-commit:not a valid phase name('')"

尝试提交到Hg存储库时,我收到以下错误:

Z:\wormcard_maker>hg commit -m "asdf"
transaction abort!
rollback completed
abort: phases.new-commit: not a valid phase name ('')
Run Code Online (Sandbox Code Playgroud)

这发生在多个不同的存储库中,并且在重新克隆存储库并重新安装Mercurial后幸存下来.我可以从不同的计算机(运行Linux)提交到存储库.

我在Windows 7上运行了与TortoiseHg 4.8一起发布的Hg 4.8.

mercurial tortoisehg

7
推荐指数
1
解决办法
1342
查看次数

标签 统计

c++ ×1

c++-chrono ×1

c++11 ×1

language-lawyer ×1

mercurial ×1

tortoisehg ×1