Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.08.2020, 17:03   #1
bugs_bunny
Пользователь
 
Регистрация: 26.07.2019
Сообщений: 10
По умолчанию Прямая и косвенная адресация в C++, как быстрее работает код с указателями?

Здравствуйте. Использование указателей на переменную выполняется быстрее, чем прямое обращение к переменной. Как я понял, при прямом обращении к переменной сначала происходит переход по адресу переменной, потом её копирование на новый адрес. При использовании указателя, сразу переходиш по адресу переменной. Правильно я понимаю?

Последний раз редактировалось bugs_bunny; 04.08.2020 в 15:30. Причина: Неправильный заголовок
bugs_bunny вне форума Ответить с цитированием
Старый 03.08.2020, 20:01   #2
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

Цитата:
Сообщение от bugs_bunny Посмотреть сообщение
Правильно я понимаю
Нет.
Указатель НА переменную, т.е. по факту это ДВЕ переменных, соответственно имеем две операции чтения против одной.

Последний раз редактировалось waleri; 03.08.2020 в 20:03.
waleri вне форума Ответить с цитированием
Старый 03.08.2020, 21:47   #3
bugs_bunny
Пользователь
 
Регистрация: 26.07.2019
Сообщений: 10
По умолчанию

"waleri" - две операции, вместо одной. Почему? По указателю переходим на переменную - это одно действие. Переходим на ту же переменную, а не на её копию, как при передаче по значению. Указатель по определению указывает на variable, а не на её копию, как при передаче по значению.
bugs_bunny вне форума Ответить с цитированием
Старый 03.08.2020, 22:43   #4
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

Цитата:
Сообщение от bugs_bunny Посмотреть сообщение
По указателю переходим на переменную - это одно действие
Нет такого действия "переход на переменную".
Получения адреса переменной из указателя - это одна операция.
Чтение значения переменной - это еще одна операция.
При работе с переменной напрямую первый шаг отсутствует.
waleri вне форума Ответить с цитированием
Старый 04.08.2020, 15:13   #5
bugs_bunny
Пользователь
 
Регистрация: 26.07.2019
Сообщений: 10
По умолчанию

Хорошо, "waleri", объясните, почему использование указателей уменьшает время выполнения программы.
bugs_bunny вне форума Ответить с цитированием
Старый 04.08.2020, 17:21   #6
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,537
По умолчанию

Чего проще - посмотреть код, который при этом генерируется, какие команды.
И вообще - речь идёт о ++ ? Может влиять включённый уровень оптимизации.
digitalis вне форума Ответить с цитированием
Старый 04.08.2020, 19:59   #7
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

Цитата:
Сообщение от bugs_bunny Посмотреть сообщение
использование указателей уменьшает время выполнения программы
При прочих равных (ето важно) - не уменьшает.
Вы сначала покажите код, скажите как замеряли, тогда и поговорим.
waleri вне форума Ответить с цитированием
Старый 05.08.2020, 09:43   #8
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,758
По умолчанию

Цитата:
Неправильный заголовок
Вот текущий не правильный

Т.е. я потратил своё время, переименовал, а вы вернули своего коротуна.
Читайте правила форума, составляйте заголовки отражающие суть вопроса.
Alar вне форума Ответить с цитированием
Старый 05.08.2020, 13:09   #9
Алексей1153
фрилансер
Форумчанин
 
Регистрация: 11.10.2019
Сообщений: 951
По умолчанию

Alar, "прямая и косвенная адресация в C++"
Алексей1153 вне форума Ответить с цитированием
Старый 05.08.2020, 13:11   #10
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,758
По умолчанию

Алексей1153, вот так норм? )
Alar вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Косвенная адресация (Паскаль с ASM вставками) XORandom Помощь студентам 1 27.01.2019 13:12
0.5 быстрее работает чем /2 ts-alan C# (си шарп) 10 02.09.2015 10:33
косвенная адресация(assembler) nastya2112 Паскаль, Turbo Pascal, PascalABC.NET 1 02.06.2011 02:53
Почему inc работает быстрее обычного сложения Rusl92 Паскаль, Turbo Pascal, PascalABC.NET 9 26.04.2010 11:58