![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#61 |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
![]() |
![]() |
![]() |
![]() |
#62 | |
Software Engineer
Участник клуба
Регистрация: 07.04.2007
Сообщений: 1,618
|
![]() Цитата:
Вранье
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
|
|
![]() |
![]() |
![]() |
#63 | ||
Участник клуба
Регистрация: 23.12.2010
Сообщений: 1,129
|
![]() Цитата:
Цитата:
|
||
![]() |
![]() |
![]() |
#64 | |
Software Engineer
Участник клуба
Регистрация: 07.04.2007
Сообщений: 1,618
|
![]() Цитата:
Видимо, твой "реальный код" отличаются от общепринятого
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
|
|
![]() |
![]() |
![]() |
#65 | |
C++
Форумчанин
Регистрация: 27.03.2011
Сообщений: 803
|
![]() Цитата:
Ищете информацию по C++?
cplusplus.com |
|
![]() |
![]() |
![]() |
#66 |
Software Engineer
Участник клуба
Регистрация: 07.04.2007
Сообщений: 1,618
|
![]()
Ее не надо оттуда выносить, ее надо туда не вносить, и ни о какой оптимизации речи не идет.
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
|
![]() |
![]() |
![]() |
#67 |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
![]()
Вы же не думаете, что в цикле каждый раз будет дёргаться sp для выделения/освобождения памяти под переменную? Память выделяется один раз в начале подпрограммы. А потом над ней только вызываются конструкторы и деструкторы, но так как char тривиален, то конструктора для него вызвано не будет, а так как нигде, кроме как в цикле, эта переменная не нужна, то её необходимо положить в область видимости этого цикла.
|
![]() |
![]() |
![]() |
#68 | |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
![]() Цитата:
Один раз при запуске процесса? А все остальное время она "дергается", Не? "Положить в область видимости" И миллион раз создавать и убивать - это немножко разные вещи. |
|
![]() |
![]() |
![]() |
#69 |
Участник клуба
Регистрация: 23.12.2010
Сообщений: 1,129
|
![]()
Прежде чем вбрасывать сюда пафосные лозунги, тебе стоило бы ознакомиться с базовыми принципами кодогенерации в C++. Очевидно, что компилятор не будет выделять память в стеке (если ты знаешь, что это такое) на каждой итерации цикла. Он либо сразу выделит область для всех локальных переменных при входе в функцию, либо сделает
Код:
Следовательно, в данном случае вопрос рассматривать стоит только с точки зрения читаемости исходного кода. И тут я повторю свой совет из предыдущего комментария - открыть любую книжку по C++ и прочитать, что там написано по этому поводу. Если без этого не очевидно, что объявление переменных рядом с местом использования выглядит логичнее, чем их нагромождение в начале блока кода. Такие дела. |
![]() |
![]() |
![]() |
#70 | ||
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]() Цитата:
Цитата:
если хотите можно проверить на gcc(MinGW) и студии. да и команда sub esp,1 ;//(если без выравнивания) довольна быстра. потому даже без оптимизации скорость не упадет в общем то. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
||
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
PopupMenu со мной не дружит | Жигилий_Ульяна | Компоненты Delphi | 5 | 25.12.2008 11:04 |
проблемы с select или со мной... | smoke888 | JavaScript, Ajax | 2 | 23.09.2008 19:02 |