Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.86/21: Рейтинг темы: голосов - 21, средняя оценка - 4.86
 Аватар для SaynorPRO
11 / 11 / 5
Регистрация: 05.10.2016
Сообщений: 122

Оператор разыменования(*) значительно замедляет программу. Почему?

15.05.2017, 19:37. Показов 4561. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Почему вот такой код
C++
1
2
3
4
5
6
string a, b;
for (/*долго*/) {
  if (a[0] < b[0]) {
   /* сделать что-нибудь */
  }
}
Быстрее такого
C++
1
2
3
4
5
6
string a, b;
for (/*долго*/) {
  if (*a.begin() < *b.begin()) {
   /* сделать что-нибудь */
  }
}
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.05.2017, 19:37
Ответы с готовыми решениями:

ORDER BY Значительно замедляет запрос
Всем привет. Проблема в том что если я добавляю в запрос ORDER BY он начинает значительно дольше выполнятся - например без ORDER BY он...

Оператор разыменования
Почему когда выделяем динамическую память для одной переменной, то, чтобы записать туда значение, мы используем оператор разыменования (*),...

Как перегрузить оператор разыменования *
Как перегрузить оператор разыменования?

24
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
16.05.2017, 14:28
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от SaynorPRO Посмотреть сообщение
Что это значит? По-вашему лучше избегать использования итераторов?
Это значит то же самое, что написал я
Цитата Сообщение от MrGluck Посмотреть сообщение
А асм выхлоп смотреть пробовали? Показатели отличаются и в релизе и в дебаге?
Смотрите ассемблер, сравнивайте результат.
1
284 / 232 / 114
Регистрация: 07.09.2016
Сообщений: 584
16.05.2017, 14:33
запустите тот тест, который я запостил. увидите вывод о том, что та или иная строка пустая. и далее по коду у пустых строк вы пытаетесь взять первый символ. почему это в случае с [] прокатывает - я не знаю.
0
 Аватар для GoldenId
142 / 143 / 64
Регистрация: 11.11.2010
Сообщений: 877
Записей в блоге: 10
16.05.2017, 17:35
Цитата Сообщение от Kastaneda Посмотреть сообщение

Не по теме:


#ifndef же есть )

Не по теме:

Да как-то набирал, само вставилось так )



Добавлено через 3 минуты
Цитата Сообщение от MrGluck Посмотреть сообщение
Можно смело убрать, ifstream и ofstream - объекты RAII, они при уничтожении сами освободят ресурсы.
А можно как-то сделать, чтобы не приходилось каждый раз при посыле переключать
C++
1
#define RELEASE
? Затрудняюсь точнее сформулировать.
0
21 / 21 / 10
Регистрация: 11.09.2015
Сообщений: 103
16.05.2017, 18:03
SaynorPRO, если у тебя есть возможность использовать компилятор микрософт 2015, то "лучше" тебе посмотреть тебе посмотреть мое предыдущее сообщение (#10).
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
16.05.2017, 18:22
Цитата Сообщение от GoldenId Посмотреть сообщение
А можно как-то сделать, чтобы не приходилось каждый раз при посыле переключать
Перенаправлять потоки при вызове программы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.05.2017, 18:22
Помогаю со студенческими работами здесь

Что такое оператор разыменования и арифметика указателей для продвижения по массиву?
Доброго времени суток, в домашнем задании попались такие термины,в интернете смотрел - ничего не понял. Можете скинуть примитивные ...

Использовать в программе арифметику указателей для продвижения по массиву, а также оператор разыменования
Доброго времени суток, подходит ли мой код под условия задачи?(Использование арифметики продвижения по массивам и присутствие оператора...

Почему PFD_DOUBLEBUFFER замедляет работу?
Доброго времени суток. Последние несколько часов открываю для себя плюшки OpenGL, всё конечено круто, но в ходе тестирования обнаружилось,...

Почему не происходит разыменования нулевого указателя?
вот думаю, почему сия конструкция не вылетает: #define offsetof(type, member) (size_t)(&amp;(((type*)nullptr)-&gt;member))... видимо не...

Почему результат выводится без разыменования указателя?
char *ptr = &quot;hello&quot;; char *ptr это указатель? Указатель. А указатель это переменная которая содержит адрес данных. Почему тогда при...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
25
Ответ Создать тему
Новые блоги и статьи
Транскрипция 55-минутного видео через Whisper: WhisperDesktop облажался, спас Google Colab[
anaschu 01.06.2026
Понадобилось получить текст из свежезагруженного видео на YouTube. Казалось бы, задача на пять минут. Заняла полтора часа. Делюсь опытом — может кому пригодится последовательность решений. . . .
21 мат мед. Планы на развитие модели здравоСохранения
anaschu 01.06.2026
AnyLogic: план развития симуляционной модели рабочего коллектива — динамический абсентеизм, реальные данные, три сценария сравнения Продолжаю серию постов о дискретно-событийной модели рабочего. . .
20. Мат мед. Абсентеизм как отдельный тип простоя
anaschu 29.05.2026
Апдейт модели: исправленные баги, абсентеизм и новые механизмы Продолжаю развивать ранее описанную модель рабочего коллектива на AnyLogic. За последние несколько дней был проведён серьёзный. . .
19. здоровье, усталость и психотип работника влияют на производительность предприятия, и наоборот, производительность на здоровье, усталось и психотип
anaschu 28.05.2026
Дискретно-событийная модель рабочего коллектива на AnyLogic: здоровье, выгорание, психотипы и микростимуляция Привет, коллеги. Хочу поделиться итогами нескольких недель работы над симуляционной. . .
"Прокси" для последовательного порта
Eddy_Em 28.05.2026
Эту штуку написал я достаточно давно. Но сейчас вот понадобилось настроить датчик грозы, но при этом не отключать его от "метеодемона". Соответственно, надо запустить этот "прокси": метеодемон будет. . .
Рефакторинг программы уравнивания.
Massaraksh7 26.05.2026
Пример по предыдущей записи в блоге. Но, надо заметить, что, во-первых, там оптимизация не только математики, но и работы с базой данных, и с графами, а во-вторых, это ещё не всё.
Использование TThread в Lazarus для математических вычислений.
Massaraksh7 25.05.2026
Производя рефакторинг своих программ на предмет ускорения их работы, обратил внимание на такой аспект, как сокращение времени матвычислений. Дело в том, что приходится работать с большими матрицами. . .
Модель здравосохранения 18. Чем здоровее работник, тем быстрее выгорает
anaschu 24.05.2026
Имитационная модель корпоративного здравоохранения: что показывает математика Сегодня в модели рабочего коллектива на AnyLogic появились три новые механики — выгорание через накопленную усталость,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru