Преобразовать вектор <std :: string> в вектор <double>
У меня есть строковый вектор, как.{"1.2","3.4","0.5","200.7"}
Я хотел бы преобразовать каждый элемент в двойной и сохранить его в.vector
Вот так{1.2,3.4,0.5,200.7}
Каков был бы лучший способ сделать это?
Я знаю оstd::stod(string, size)
; Но я надеюсь на лучший способ сделать это.
Я искал что-то вроде:
vector doubleVector = convertStringVectortoDoubleVector(myStringVector);
Неткажется, что-то подобное; так что же будет лучше?
РЕДАКТИРОВАТЬ: Здесь 'Что я в итоге использовал:
std::vector convertStringVectortoDoubleVector(const std::vector& stringVector){
std::vector doubleVector(stringVector.size());
std::transform(stringVector.begin(), stringVector.end(), doubleVector.begin(), [](const std::string& val)
{
return stod(val);
});
return doubleVector;}
Для полного ответа проверьте Zac Howland 'ответ и Крис Шут-Янгответ. (П.С. Это полностью основано на Зак 'с ответом) спасибо