Читаю текстовый файл. Каждая строка файла содержит некоторые значения через запятую. N-ое значение относится к n-му каналу. Надо разнести значения по каналам.
QStringList lWordsList = row.split ( ",", QString::SkipEmptyParts );
for(int j=0;j<lWordsList.size();j++)
{
CChannel ch=(CChannel)channelList[j] ;//Здесь создается копия элемента CChannel
double val=lWordsList[j].toDouble();
ch.valueList.insert(dt,val);
channelList[j]=ch;//пытаюсь внести изменения в список и здесь программа начинает дико тормозить
}
row - очередная строка из файла. QMap<int, CChannel> channelList - список каналов CChannel. У CChannel есть список значений QMap <QDateTime, double> valueList. Когда пишу
CChannel ch=(CChannel)channelList[j];
оказывается создается копия элемента CChannel, и все, что я делаю с этой копией никак не влияет на реальный элемент в списке каналов channelList. Поэтому после всех изменений копии, присваиваю ее j-му элементу списка. Все вроде работает, но проблема в том, что на операторе
программа начинает дико тормозить. Без этого оператора 10-мегабайтный файл считывается за 3 сек, с этим оператором - счет идет на часы. Как решить проблему? Как внести изменения в элемент напрямую? Или что-то еще?