website声明宏RAND_MAX的值与库相关,最小值为32767。不再赘述。


库依赖是什么意思?这是否意味着假设来自两个不同库的两个宏RAND_MAX,我们必须通过使用不同的名称空间来区分它们?
为什么最小值RAND_MAX 32767

最佳答案

这意味着标准库有不同的实现,并且每个都可以以不同的方式定义RAND_MAX,尽管它必须始终至少为32767。

不会涉及命名空间,因为RAND_MAX是一个不在命名空间中的宏。无论如何,通常一次只能链接一个标准库。它通常随编译器一起提供,您只需使用它即可。您可以从其他库中获得其他随机数生成器,但通常应使用RAND_MAX以外的其他值来指示它可以/将创建的最大值。特别是,如果您的编译器包括它,则可能要使用C ++的新“本机”随机数生成类(有关详细信息,请参见<rand>的文档)。

最小值32767主要是因为这是INT_MAX的最小值。在16位实现中(编写C89标准时仍然很常见),这是这些实现可以方便使用的最大有符号整数。

关于c++ - 为什么宏的最小值:RAND_MAX,32767,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21681890/

10-10 16:56