А вот интересно, не существует способа при помощи lexical_cast преобразовать строку в число не зная заранее является ли строка корректным числом без выброса исключения?
std::string text = GetValueFromEdit();
double d;
try
{
d = boost::lexical_cast<double>(text);
} catch(boost::bad_lexical_case&)
{
d = 0;
}
// почему нет такого варианта
if (!boost::lexical_cast<double>(text, d))
{
d = 0;
}
// или какого-нибудь еще
Есть же, к примеру, две версии dynamic_cast, с исключениями и без исключений.
Как же тот принцип что исключения нужны для исключительных ситуаций?
Или все пользуются каким-то другим методом?