Предполагая, что все ваши поля разделены общим разделителем (и я правильно понял ваш вопрос), просто разбейте входную строку на разделители и используйте их с помощью функций преобразования строк. что-то вроде:
Variable parseVariable(const std::string& line)
{
Variable variable;
// You must define 'split'
std::vector<std::string> inputFields = split(line, " ");
variable.m_name = inputFields[0];
// You must also define 'convertStringToUint16'
variable.value = convertStringToUint16(inputFields[1]);
if(inputFields.size() > 2)
{
variable.comments = inputFields[2];
}
return variable;
}
Отказ от ответственности: этот код не был проверен
Теперь, что касается использования вами термина «выражение», я беспокоюсь, что вы можете захотеть оценить произвольные выражения для значения переменной. Если это так, я рекомендую вам определить ОЧЕНЬ малый объем выражений, которые можно оценить, поскольку даже простые математические выражения требуют правильной работы для правильной обработки.