2012-05-31 3 views
1

부스트의 정규 분포를 사용하여이 코드로 어떤 일이 벌어지고 있는지 말해 줄 수 있습니까?부스트 기능 서명

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의 두 가지 기능 서명과 관련하여 혼란스러워합니다. 감사합니다. 피트

답변

5

var_nor은 기능이 아닙니다.

첫 번째 줄에서 생성자가 rng와 배포판을 인수로 생성자에 전달합니다.
두 번째 줄은 operator() 멤버를 호출합니다.

+0

아 물론 ...! 감사 매트 – Pete855217

+0

과 (과)이 개체에 대한 오버로드 된 연산자입니다. – Pete855217