|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
18.01.2012, 21:51 | #11 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
я там вам все обьяснил. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
18.01.2012, 22:05 | #12 | |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
Цитата:
Вы мне говорите: а почему бы и не потратить зазря время и память? Вы считаете, что это рационально? http://liveworkspace.org/code/a53c32...cf57803996c306 |
|
18.01.2012, 22:11 | #13 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
в первом коде да.
а вот в последнем нет, так как возвращается новая строка, а не тоже самое. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
19.01.2012, 01:38 | #14 |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
Код:
2 копирование при создании временного объекта. 3 копирование при выходе из тела функции. Теперь вот так: Код:
|
19.01.2012, 02:07 | #15 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
про 1 я сказал уже.
второго нет.(любой компиль убирает) 3 есть. но теперь посмотрим что имеет ваш код, теперь он всегда меняет исходную строку, и не имеет результата, что нам не дает возможности использовать присваивание. если нужно сохранить исходную строку от копирования три мы не уходим(даже больше, оно копирует большую строку). или вы считаете себя сильно умнее той же std::string::substr? Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
19.01.2012, 02:19 | #16 | ||
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
Ух ты! И в правду)
http://liveworkspace.org/code/1d12a3...9286205e377b61 Цитата:
Код:
Цитата:
Код:
2 копирование - не_рациональное падение производительности. |
||
19.01.2012, 08:36 | #17 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
ваш код не удобен в применении.
Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
19.01.2012, 10:21 | #18 |
Пользователь
Регистрация: 28.12.2011
Сообщений: 27
|
|
19.01.2012, 11:17 | #19 |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
1. В каком смысле неудобен? Лень написать несколько дополнительных символов исходного кода?
Пускать лишьние циклы в холостую, терять производительность - это типа удобнее? 2. Это не намек. Я не знал, что компиль такое дело оптимизирует. Думал 3 копирования будет. Ан нет, только 2. Но фокус в том, что и 2 копирования - это тоже не_рационально, если без особых усилий можно получить только 1. |
19.01.2012, 18:57 | #20 | ||
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
вы забываете так же про саму string::substr, она создает новый объект. Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Разделение данных одной ячейки | jestya | Microsoft Office Excel | 4 | 29.09.2010 14:54 |
разделение данных в ячейках | Viper_FMX | Microsoft Office Excel | 2 | 27.09.2010 02:43 |
Разделение данных на несколько ячеек | d_adilet | Microsoft Office Access | 6 | 29.06.2010 09:28 |
Разделение массива данных на части | Евгений К. | Microsoft Office Excel | 2 | 03.06.2010 13:41 |
Разделение. | Maksim_27_10 | Общие вопросы C/C++ | 8 | 21.04.2010 20:40 |