Всем привет! Как жизнь?) Вопрос академического характера. Есть такой цикл:
struct Data
{
std::string name_pack;
std::list<std::string> values;
};
bool func_real(std::string &val)
{
//что-то делаем со структурой:
bool result = handler(val);
return result; //* <-ТОЧКА ОСТАНОВКИ
}
//записываем данные
Data data = ...;
//работаем с элементом структуры по ссылке, и надеемся,
//что эта работа изменит текущее содержимое data
for (auto el : data.values)
{
if (!func_real(el)) continue;
}
//на выходе в date ничего не изменилось, хотя в ТОЧКЕ ОСТАНОВКИ
//данные менялись
В методе func_real(Data &data) ссылка, соответственно, не const,
т.к. есть желание работать по ссылке с содержимым data.
Что я делаю неправильно, подскажите, пожалуйста.