在 C++98 中,我可以使用 std::copy 从输入流复制到使用迭代器适配器的 std::vector。有什么方法可以从新的 C++11 随机数库中做类似的事情吗?
我希望能够做的是:
std::uniform_int_distribution<int> dist(0, 1024);
std::vector<int> col;
std::copy(std::adapter_type(dist), std::adapter_type(dist, 128), std::back_inserter(col));
“结束”迭代器必须有一些方法来限制 vector 中插入的数字数量。而且,是的,我确实知道我需要某种类型的引擎来进行分发。
最佳答案
你想要generate_n
(这实际上不是新的):
std::generate_n(std::back_inserter(col), 128, std::bind(dist, gen));
(这里的gen
是一个合适的随机数引擎。)
关于c++ - 使用 std::copy 从随机数分布中复制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17822782/