2016-04-22 30 views

回答

4

返回0RAND_MAX之间的伪随机积分值(0RAND_MAX包括)。

cppr,强调我的。


然而rand是旧的和坏的,例如通过在STL描述this talk。你应该使用现代<random>设施,而不是你的情况

std::uniform_real_distribution(0, std::nextafter(1.,2.)); 
+0

Downvoter,小心解释什么是错的? –

+0

它不老也不坏。这取决于。我同意,对于密码学的东西是绝对古老和不好的。对于科学模拟也不好,在某些情况下可能会好。对于随机化游戏AI,大多数情况下都是非常好的 –

+0

@GianlucaGhettini即使是游戏AI,''的优势在于它的引擎具有明确定义的范围,线程安全性和定义明确的行为。即使你想要'rand'(无论这意味着什么,因为它与平台高度相关)的行为,你可以用一种明智的,独立于平台并且可重现的方式从''中获得这个结果。除了玩具程序之外,“兰特”对任何东西都不好。即使标准本身建议不要使用它,它也没有优于''。 –