【发布时间】:2011-02-21 02:04:00
【问题描述】:
嘿,我想尽可能快地做到这一点,因为它在我正在编写的程序中被调用了很多,所以有没有比将 C++ 向量初始化为随机值更快的方法:
double range;//set to the range of a particular function i want to evaluate.
std::vector<double> x(30, 0.0);
for (int i=0;i<x.size();i++) {
x.at(i) = (rand()/(double)RAND_MAX)*range;
}
编辑:修复 x 的初始化程序。
【问题讨论】:
-
按索引访问向量数据元素的正确类型是
std::vector<...>::size_type,而不是int。 -
我想常见的编译器会在他们的优化器中将
range/RAND_MAX移出循环? -
很想知道分析器是否确实将其识别为问题。
标签: c++ optimization vector random