C++中的此模板用于将g生成的值转换为[0,1)范围内的浮点值,以保留使用g生成的序列的均匀性。为了产生足够的熵, generate_canonical()会在确切的“ k”次调用g(),
句法:
template ( class RealType, size_t bits, class URNG )
RealType generate_canonical (URNG& g);
模板参数:该模板接受上述和以下所述的三个参数:
- RealType:函数返回浮点类型的值。
- 位:尾数的最大位数。
- URNG:统一的随机数生成器类。
参数: generate_canonical()函数接受用作统一随机数生成器对象的单个参数g 。它用于获取熵。
返回值:该函数返回范围为[0,1)的浮点值。
下面的程序说明了上面的C++模板
程序:
// C++ program to illustrate generate_canonical()
// function.
#include
using namespace std;
int main()
{
// Obtain a root from the system clock:
unsigned root = chrono::system_clock::now().time_since_epoch().count();
// Random number engine class
// that generates pseudo-random numbers
default_random_engine generator(root);
double can_val = generate_canonical::digits>(generator);
// Print the random canonical value
// It will display different value everytime
cout << "Random canonical value: " << can_val;
return 0;
}
输出:
Random canonical value: 0.0281975
参考: http : //www.cplusplus.com/reference/random/generate_canonical/
要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程” 。