首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C++关于随机数的小疑点,麻烦您帮小弟我看一下,多谢

2012-03-05 
C++关于随机数的小问题,麻烦您帮我看一下,谢谢#include cstdlibinline int random(int count) {return1

C++关于随机数的小问题,麻烦您帮我看一下,谢谢
#include <cstdlib>
inline int random(int count) {
return
1 + static_cast<int>( (count*static_cast<double>(rand())) ) /(RAND_MAX+1.0);
}
我不明白这个函数:
static_cast是个什么样的关键字?
static_cast<int>又是什么意思?
RAND_MAX又是什么样的宏?
这个函数的功能是什么?
非常感谢!!!

[解决办法]
1.static_cast<type>(expression)

  例如,假设你想把一个int转换成double,以便让包含int类型变量的表达式产生出浮点数值的结果。如果用C风格的类型转换,你能这样写:

int firstNumber, secondNumber;
...
double result = ((double)firstNumber)/secondNumber;

  如果用上述新的类型转换方法,你应该这样写:

double result = static_cast<double>(firstNumber)/secondNumber;

  这样的类型转换不论是对人工还是对程序都很容易识别。

   static_cast在功能上基本上与C风格的类型转换一样强大,含义也一样。它也有功能上限制。例如,你不能用static_cast象用C风格的类型转换一样把struct转换成int类型或者把double类型转换成指针类型.


2. RAND_MAX你自己定义的宏
3. 函数返回int型的随机数

热点排行