Каков самый дешевый способ инициализации std::vector
из массива C-стиля?
Пример. В следующем классе у меня есть vector
, но из-за внешних ограничений данные будут переданы как массив C-style:
class Foo {
std::vector<double> w_;
public:
void set_data(double* w, int len){
// how to cheaply initialize the std::vector?
}
Очевидно, я могу вызвать w_.resize()
, а затем перебрать элементы или вызвать std::copy()
. Есть ли лучшие методы?