generate(vec.begin(), vec.end(), [=](){return static_cast<T>(static_cast<double>(ran())
/RAND_MAX*(max-min)+min); });
問題:RAND_MAX *(max-min)+ min);Rand_Max *(max-min)+ min <<那是什麼?
好吧,所以我知道算法,lambda表達式和capture子句。我的問題對所有這些都很荒謬。上面的粗體文本是什麼意思。我的意思是,我知道它是隨機值生成過程的一部分。但不知道到底發生了什麼。那麼有人可以打破這個小小的代碼。
而統一的_ * _分佈(最小,最大)可能是一個更好的方法來做到這一點。 –
bames53
+1我不想嘮叨,因爲他只是問它做了什麼,但使用STL肯定會更有意義。 – smocking
是的,我意識到我愚蠢的括號。詛咒我天空的神靈。 –