| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C++ Builder > TStringList |
| Автор: Kirgston 21.4.2011, 20:12 | ||
Доброго времени суток! Собственно случился странный казус. Может я это... мат часть не того... но вызывая :
я получаю всё тот же 123. Вызовы тех же Delete & Insert & blablabla() бесполезны. Это из разряда "рид онли" ? Как обойти данный сарказм? =) Я конечно знаю как можно обойти... но это слишком не красиво |
| Автор: Kirgston 21.4.2011, 20:36 |
| Ошибся... оказывается tmp->Strings[0] = L"321" работает нормально зато tmp->Strings[0].Delete(1,1); нивкакую... я дурак или как? |
| Автор: 586 21.4.2011, 22:18 |
| tmp->Strings[0] = tmp->Strings[0].Delete(1,1); |
| Автор: Kirgston 22.4.2011, 07:32 |
Тут будет вызван конструктор копирования. Не правда ли? А можно без него? |
| Автор: 586 22.4.2011, 18:52 |
| tmp->Strings[0] возвращает копию строки, а не ссылку. Поэтому, изменение того, что возвратил tmp->Strings[0] не приведёт к изменению данных в TStringList. Подругому никак. Либо, вместо TStringList используй std::vector - в нём можно менять строки напрямую. |