【问题标题】:Boost function signature提升函数签名
【发布时间】:2012-05-31 12:32:16
【问题描述】:

有人能告诉我这段代码使用 boost 的正态分布是怎么回事吗?

boost::mt19937 rng; // A random number generator
boost::normal_distribution<> nd(3.0, 1.0); // mean 3, sigma 1
// Attach the distribution to the random number generator to get a function
// that returns normally distributed variables.
boost::variate_generator<boost::mt19937&,boost::normal_distribution<> > var_nor(rng, nd);
// Use it. But why is function signature different?
double x = var_nor();

我对 var_nor 及其两个函数签名的情况感到困惑。 谢谢 皮特

【问题讨论】:

    标签: c++ function boost signature


    【解决方案1】:

    var_nor 不是函数,它是一个对象。

    第一行创建它(将 rng 和分布作为参数传递给构造函数)。
    第二行调用它的operator() 成员。

    【讨论】:

    • 如 () 是此对象的重载运算符。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-14
    • 2011-12-06
    • 2018-05-29
    • 1970-01-01
    • 2015-07-01
    • 2013-04-19
    相关资源
    最近更新 更多